・ 二平方和分解        inazuma_50683645,16565517 氏

 初めまして、趣味で素因数分解法を考え楽しんでいる者です。

 ある数Pが下記@の性質を持つとき、Pのみから a と b を求める方法を思い付きました。

@ P=a^2+b^2

※ただし、a は、3以上の奇数、b は、(2×( a の桁数)+1)桁以上の偶数
 (例えば、a が10桁なら、bは21桁以上)

 自分で計算している分にはうまく算出出来ているのですが、1人で考えている為、なにか勘
違いがあるかもしれず不安があります。

 つきましては、どなたか試しに問題を出して頂けませんでしょうか?うまくいけば翌日まで
には解答出来ると思います
(自宅の安いノートPCで計算している為、解答出来なかったらゴメンナサイ)

 Pはとりあえず1000桁以下で、どうぞ宜しくお願いいたします。

例 下記のPを二平方和で表せ。(@の性質を持つものとする)
P=
79300000037195311469172088857218716366006504413694
67498094008133486079015170644844470927388048966664
71364084114224459809838073427764684299991893020117
87456020152022982982334498187590674933322035197451
04138548852323106359705380406209799321075786700748
97251075824794270095130531665785303520499625246843
70719102407952977609918264565309676875315113912408
70267500957407099187560193071952151611248261841935
69337549765652585924269731770243974032307256739067
91188751144938670681822892207721337339864143140179
90528196878053630706148037821924972860860994861603
49098958042925035090429124946155124465500090226636
49467540005250471043364183315967627035324264859599
67141415803012592347134057555165265478404500762265
44199380968805924457560332031071504504197590397342
71810321003237239447831652868964102212153370316814
06796846409047670450150851793080134210157112772689
58519839847317362637053099816619843793064691538365
63139531004179897193286960125022553379570957235139
114494973770246343671593770077506746282454373742765

解答 P=a^2+b^2 として、

a=971850087035976191464617231403297972574042219987
37604269099307011774498957130732413787709812587433
59436158490894589690601193310837963651081208892631
60509147749602073918962661325153912810181096212403
04342638679979807519201662423980308668745308379247
49

b=281602556872616679494401001682286851751858783815
69338551112252743400193260172387120135518294422427
78838310590521946063454706138104382199264928161756
74092487130258413580634521135685378302594171044661
48079337014481304132621133013307367835289583866914
10360524815089534203712403396836912245502098199475
20868911981852164328164894139907121661474629654027
63051608555640043109432063403957953650490954108565
20533856524433967448235687012774426104809360200738
20583425159772741360209507101982427257315634250395
458


 Dengan kesaktian Indukmu さんからのコメントです。(令和6年9月1日付け)

 お試しですが。

 条件【※ただし、a は、3以上の奇数、b は、(2×( a の桁数)+1)桁以上の偶数】での、桁
数の縛りについては確かめておりませんけれども、奇数^2 +偶数^2 であることを個人的に
は確かめた気持ちになっている以下のPをお願いします。下記のPについては素因数分解
の結果を知っております。

P = 10^110 +1
桁数のオーダーが甘くてすみません。

 上記で、私が依拠したのは以下の定理なのでした。

 合成数が高々二個の平方数の和で表されるための必要十分条件は、4を法として3
に合同な素因数が全て平方(冪指数が偶数)になっていることである。


 素因数分解して上を確認できる大きな数を探したのです。そうしたら自明なものになってし
まっていました。申し訳ないことです。


 inazuma_50683645,16565517 さんからのコメントです。(令和6年9月1日付け)

P=(10^55)^2+1^2
= 89・101・661・3541・18041・27961・148721・1052788969・1056689261・1121407321・
 1395900370 916327245555441901・36380545029953205956377406702261

ですかね(素因数分解は他力で行いましたw)


 らすかるさんからのコメントです。(令和6年9月1日付け)

 a が n 桁、b が 2n+1 桁以上ならば、10^(n-1)≦a<10^n、b≧10^(2n) となり

 (b+1)^2-(b^2+a^2)=2b+1-a^2>2・10^(2n)+1-10^(2n)=10^(2n)+1>0

から、(b+1)^2>a^2+b^2>b^2 なので、b=[√P] ([ ]はガウス記号) で、bが求まりますね。

 上記は、a、b の偶奇と関係ありませんので、「b が、(2×( a の桁数)+1)桁以上」という条件
さえあれば、a、b の偶奇にかかわらず求められると思います。


 inazuma_50683645,16565517 さんからのコメントです。(令和6年9月1日付け)

 らすかるさん、ご返信ありがとうございます。さすらすです!(流石らすかるさんの略w)

 私の場合 a から求める方法を試していたので、ご指摘には目から鱗です。ありがとうござ
います。


 inazuma_50683645,16565517 さんからのコメントです。(令和6年9月2日付け)

 らすかるさんの方法を応用して、桁数差を減らす事は可能でしょうか?

例えば、「bが(2×(aの桁数))桁以上」、「bが(2×(aの桁数)-1)桁以上」等、a、b の桁数差を
減らす事は可能でしょうか?


 Dengan kesaktian Indukmu さんからのコメントです。(令和6年9月2日付け)

 なぜ十進数で桁数を?と初見で感じました。私も期待しています。


 らすかるさんからのコメントです。(令和6年9月2日付け)

 上に書いた方法は、要は、(b+1)^2−(b^2+a^2)=2b+1−a^2>0 であれば良いので、

 a^2<2b+1 すなわち、 a^2≦2b であれば、b=[√P] が成り立ちます。

 b が 2n 桁でも良いようにするためには、例えば、b+1 を b+5 に変えると、

 (b+5)^2−(b^2+a^2)=10b+25−a^2>0 すなわち、 a^2<10b+25

→ b<√P<b+5 すなわち、[√P]−5<b≦[√P]

つまり、b は、[√P]、[√P]−1、[√P]−2、[√P]−3、[√P]−4 のどれかなので、

この5個で計算してみれば、b が 2n 桁の場合も対応できるようになります。

 同様に、[√P]〜[√P]−49 の50個で計算すれば、b が 2n−1 桁でもOK、

[√P]〜[√P]−499 の500個で計算すれば、b が 2n−2桁 でもOKのようになりますが、

巨大数で b を(定数)桁縮めたところで、あまり意味はないような気がします。


 inazuma_50683645,16565517 さんからのコメントです。(令和6年9月2日付け)

 らすかるさん、詳しい解説有難うございます。やはり難しい事を再確認いたしました。自分
なりにまた考えてみたいと思います。ありがとうございました。


 inazuma_50683645,16565517 さんからのコメントです。(令和6年12月1日付け)

 以前、ある合成数Pが下記@の性質を持つならば、b=[√P] ([ ]はガウス記号)で、b が
求まる事をらすかるさんに教えて頂きましたが、

@ P=a^2+b^2 ※ただし、a、b は自然数、b は、(2×(aの桁数)+1)桁以上の数

 それと似たような手法で、平方差も求められる事が分かりました。

すなわち、ある合成数 q が下記Aの性質を持つとき、x=[√q]+1 ([ ]はガウス記号)
で x が求まり、そこから平方差が求められ、結論として、素因数分解可能。

A q=x^2−y^2 ※ただし、x、y は自然数であり、x は、(2×(yの桁数)+1)桁以上の数

例:次のB q を素因数分解せよ。だだし、Aの性質を持つものとする。

B q=975461057985063252585468007926206200262277

C=[√q] として、C=987654321098765432108

E=C+1 として、E=987654321098765432109

E^2 を計算して、E^2=975461057985063252585526596557677488187881

F=E^2-q として、

F=975461057985063252585526596557677488187881
 -975461057985063252585468007926206200262277
=58588631471287925604

 √F を計算して、√F=7654321098

 E+√F を計算して、

E+√F=987654321098765432109+7654321098=987654321106419753207

q/(E+√F) を計算して、

975461057985063252585468007926206200262277/987654321106419753207
=987654321091111111011(割り切れた)

よって、 q=987654321106419753207×987654321091111111011 (終)


 DD++ さんからのコメントです。(令和6年12月2日付け)

 数学感動秘話 > 「緊急の因数分解」 あたりの話ですかね?
比が1に近い2数の積から元の2数を求める話。


 inazuma_50683645,16565517 さんからのコメントです。(令和6年12月2日付け)

 DD++さん、コメントありがとうございます。「緊急の因数分解」読ませていただきました。

 "比が1に近い2数の積から元の2数を求める"方法ではあるのですけれども、私としては
その比を少しでも1より遠ざける手法を模索している所です、また何か進展があれば、投稿
させていただきたいと思います。



  以下、工事中!



              投稿一覧に戻る