質問に対する回答(27)
当HPの掲示板「出会いの泉」に、当HP読者のHN「k.nika」さんより書き込みがあった。
(平成25年3月7日付け)
ひとつご教示頂きたいのですが、ある既知の数Aがあり、未知数Bを掛け、 「C2+1」の形
にしたいです。
未知数Bを求めるなにか良い方法はないでしょうか。(ここで、A、B、Cは非負の整数)
らすかるさんからのコメントです。(平成25年3月8日付け)
Aを素因数分解すれば求められるようですが、目的がAを素因数分解することなら難しそ
うです。
GAI さんからのコメントです。(平成25年3月8日付け)
Aを与えたとき、未知数Bの選び方の候補を調べてみました。これからなにか法則を掴め
ませんかね。
A-->B :A-->B :A-->B :A-->B :A-->B
:A-->B
1-->1 :2-->1 :5-->1 :10-->1 :13-->2
:17-->1
1-->2 :2-->5 :5-->2 :10-->5 :13-->5
:17-->10
1-->5 :2-->13 :5-->10 :10-->17 :13-->25 :17-->26
1-->10 :2-->25 :5-->13 :10-->29 :13-->34 :17-->53
1-->17 :2-->41 :5-->29 :10-->53 :13-->74 :17-->85
1-->26 :2-->61 :5-->34 :10-->73 :13-->89 :17-->130
1-->37 :2-->85 :5-->58 :10-->109:13-->149:17-->178
1-->50 :2-->113:5-->65 :10-->137:13-->170: *
1-->65 :2-->145:5-->97 :10-->185: * : *
1-->82 :2-->181:5-->106: * : * : *
1-->101 : * :5-->146: * : * : *
1-->122 : * :5-->157: * : * : *
1-->145 : * : * : * : * : *
1-->170 : * : * : * : * : *
1-->197 : * : * : * : * : *
A-->B :A-->B :A-->B :A-->B
:A-->B :A-->B
25-->2 :26-->1 :29-->5 :34-->5 :37-->1
:41-->2
25-->13 :26-->17 :29-->10 :34-->13 :37-->26 :41-->25
25-->41 :26-->37 :29-->58 :34-->65 :37-->50 :41-->61
25-->74 :26-->85 :29-->73 :34-->89 :37-->125 :41-->130
25-->130:26-->125:29-->169:34-->193:37-->173 : *
25-->185: * :29-->194: * : *
: *
A-->B :A-->B :A-->B :A-->B
:A-->B :A-->B
50-->1 :53-->10 :58-->5 :61-->2 :65-->1 :73-->10
50-->37 :53-->17 :58-->29 :61-->41:65-->5 :73-->29
50-->65 :53-->109:58-->97 :61-->85:65-->34 :73-->137
50-->173:53-->130:58-->169: * :65-->50 :73-->194
* : * : * : * :65-->82 : *
* : * : * : * :65-->106: *
* : * : * : * :65-->193: *
A-->B :A-->B :A-->B :A-->B
:A-->B
74-->13 :82-->1 :85-->2 :89-->13 :97-->5
74-->25 :82-->65 :85-->17 :89-->34 :97-->58
74-->149:82-->101:85-->26 :89-->170:97-->146
74-->185: * :85-->61 : * : *
* : * :85-->113: * : *
* : * :85-->178: * : *
A≦100、B≦200までの範囲なのであしからず。*はその範囲では見つからなかったため
です。
らすかるさんからのコメントです。(平成25年3月8日付け)
素因数分解に直結する内容ですので、もし法則を見つけられたら、世紀の大発見になりそ
うな気がします。…ということで、世界ではそれについて研究している人が、ある程度いると
思いますので、一般の人が法則を見つけるのはきっと難しいと思います。
空舟さんからのコメントです。(平成25年3月8日付け)
aとbは互いに素で、a2+b2=A となる整数a、bを見つけてこられれば、(そのようなa、bを
見つける段階がきっと困難なのだと思いますが・・・)、ad+bc=1 となるc、d
を手に入れて
c2+d2=B とおくことで、AB = (a2+b2)( c2+d2) = (ac−bd)2+(ad+bc)2 が条件を満た
すと思います。
k.nika さんからのコメントです。(平成25年3月8日付け)
GAI さん、空舟さん、らすかるさん、有難うございます。Aが素因数分解可能だとすると、ど
うでしょうか。
らすかるさんからのコメントです。(平成25年3月9日付け)
素因数分解が出来れば、mod Aにおける -1 の平方根Cが求められますので、B=(C2+1)/A
によりBも求まります。法演算における平方根の求め方については、
塩田 著(高知大学 情報科学専攻) 「情報解析学特講」
のp.18〜22に記載されています。
k.nika さんからのコメントです。(平成25年3月9日付け)
どうも有難うございます。頑張ってみます。
GAI さんからのコメントです。(平成25年3月9日付け)
面白かったので、どんなAに対し何のBを掛けるとC2+1の数が構成されていくのかを範囲
を広げて調べてみました。
Aに選べる数は、空舟さんのご指摘のように数列大辞典に載っている「A008784」の数に
限られていき、これに対するB(B1〜B10の10個を表にしました)もまた、この「A008784」グ
ループに属する数となっていることが確認できます。
一般に、ある数が2つの平方数の和で表される条件がガウスの平方剰余相互法則での
第一補充法則と関連しており、またガウスの整数環がラグランジュの恒等式と繋がり、一方
を、ac−bd=1と選ぶことで、この問いが発生する構造が見てとれます。
A : 1 / 2 / 5 / 10 / 13 / 17 / 25 / 26 / 29 / 34
B1 : 1 / 1 / 1 / 1 / 2 / 1 / 2 / 1 / 5 / 5
B2 : 2 / 5 / 2 / 5 / 5 / 10 / 13 / 17 / 10 / 13
B3 : 5 / 13 / 10 / 17 / 25 / 26 / 41 / 37 / 58 / 65
B4 : 10 / 25 / 13 / 29 / 34 / 53 / 74 / 85 / 73 / 89
B5 : 17 / 41 / 29 / 53 / 74 / 85 / 130 / 125 / 169 / 193
B6 : 26 / 61 / 34 / 73 / 89 / 130 / 185 / 205 / 194 / 233
B7 : 37 / 85 / 58 / 109 / 149 / 178 / 269 / 265 / 338 / 389
B8 : 50 / 113 / 65 / 137 / 170 / 241 / 346 / 377 / 373 / 445
B9 : 65 / 145 / 97 / 185 / 250 / 305 / 458 / 457 / 565 / 653
B10 : 82 / 181 / 106 / 221 / 277 / 386 / 557 / 601 / 610 / 725
A : 37 / 41 / 50 / 53 / 58 / 61 / 65 / 73 / 74 / 82
B1 : 1 / 2 / 1 / 10 / 5 / 2 / 1 / 10 / 13 / 1
B2 : 26 / 25 / 37 / 17 / 29 / 41 / 5 / 29 / 25 / 65
B3 : 50 / 61 / 65 / 109 / 97 / 85 / 34 / 137 / 149 / 101
B4 : 125 / 130 / 173 / 130 / 169 / 202 / 50 / 194 / 185 / 293
B5 : 173 / 202 / 229 / 314 / 305 / 290 / 82 / 410 / 433 / 365
B6 : 298 / 317 / 409 / 349 / 425 / 485 / 106 / 505 / 493 / 685
B7 : 370 / 425 / 493 / 625 / 629 / 617 / 193 / 829 / 865 / 793
B8 : 545 / 586 / 745 / 674 / 797 / 890 / 229 / 962 / 949 / 1241
B9 : 641 / 730 / 857 / 1042 / 1069 / 1066 / 293 / 1394 / 1445 /
1385
B10 : 866 / 937 / 1181 / 1105 / 1285 / 1417 / 337 / 1565 / 1553 / 1961
A : 85 / 89 / 97
B1 : 2 / 13 / 5
B2 : 17 / 34 / 58
B3 : 26 / 170 / 146
B4 : 61 / 233 / 305
B5 : 113 / 505 / 481
B6 : 178 / 610 / 746
B7 : 205 / 1018 / 1010
B8 : 290 / 1165 / 1381
B9 : 394 / 1709 / 1733
B10 : 509 / 1898 / 2210
空舟さんからのコメントです。(平成25年3月9日付け)
c の符号が変わっても B=c2+d2 は同じ結果なので、「ad-bc=1」でも良いと思います。そ
の場合は以下のようになり、ac+bd が Cに相当することになります。
AB = (a2+b2)( c2+d2) = (ac+bd)2+(ad−bc)2
(※) a、b、c、d が正ということなら、こっちの式の方が良いかもしれません。
(私が当初 AB = (a2+b2)(c2+d2) = (ac−bd)2+(ad+bc)2 という符号で書いたのは、
|a+bi| |c+di| = |(a+bi)(c+di)| に由来します)
k.nika さんからのコメントです。(平成25年3月9日付け)
Aに選べる数は空舟さんの御指摘のように数列大辞典に載っている「A008784」の数に限
られていき、これに対するB(B1〜B10の10個を表にしました。)もまたこのA008784グルー
プに属する数となっていることが確認できます。
これは気がつきませんでした、とても参考になります。
aとbは互いに素で、a2+b2=A となる整数a、bを見つけてこられれば、(そのようなa、b
を見つける段階がきっと困難なのだと思いますが・・・)
たしかに困難なのですが、たとえば、A=a2+b2 (a:偶数、b:奇数) という性質があり、こ
れに既知数Bを掛け、
AB=C2+D2 (C:偶数、D:奇数で、Cの桁数>2*Dの桁数)
という性質を持たす事が出来れば、具体的にC、Dの値が分からなくても、A=a2+b2 を求め
ることが出来るのですが・・・
空舟さんからのコメントです。(平成25年3月10日付け)
A=a2+b2、B=c2+d2、AB=(a2+b2)(c2+d2) に対して、AB = (ac−bd)2+(ad+bc)2 が
成り立つので、これを利用する方針を考えましたが...やはり困難でした。
a:偶数、b:奇数、c:偶数、d:奇数 として、C=|ad+bc|、D=|ac-bd| という風に考えました。
Cの桁数>2*Dの桁数 を満たすためには、acとbdをかなり近くする必要が有りました。
適当に設定した具体的な数値で概算してみました。
aが50桁でbが25桁だとして、c=1、d=(25桁)を試すと、ad+bcは75桁、acおよびbdの桁は50
桁ぐらいなので、acとbd の上13桁ぐらいを一致させる必要がありました。
従ってこの方針は困難だと思いました...
k.nika さんからのコメントです。(平成25年3月10日付け)
たしかに正攻法では難しそうですね、なにかアイデアをひねり出さないと駄目かもしれませ
ん。どうも有難うございました。
以下、工事中!