・素数の探索                            GAI 氏

 素数が無限個存在することを示すために、何個か素数があったら全部掛けて1を足したも
のを作り、それを割る、1でない一番小さい自然数を取り出していくという手法をとる。

 例えば、素数2から作り始めれば、

 2+1=3 より、 [2,3]

次に、 2*3+1=7 より、 [2,3,7]

次に、 2*3*7+1=43 より、 [2,3,7,43]

次に、 2*3*7*43+1=1807(=13*139) より、 [2,3,7,43,13]

 以下同様にして、 [2,3,7,43,13,53,5,6221671,・・・] と無限個の素数を発見していける。

 さて、これを最初の素数設定を17としてみると、

 17+1=18(=2*3^2) より、 [17,2]

次に、 17*2+1=35(=5*7) より、 [17,2,5]

次に、 17*2*5+1=171(=3^2*19) より、 [17,2,5,3]

 以下同様にして、 [17,2,5,3,7,3571,31,・・・] と、上の並びとは異なるがやはり無限個の素数
が存在できることは示せる。

 そこで、スタートに置く素数p1、p2を定めて、以下の素数列

  [p1,2,3,5,7,11,13,・・・]  、[p2,2,3,5,7,11,13,17,・・・]

を生成し、通常の素数の配列が並ぶ順になるようにしたい。
(・・・の部分にはどんな素数が並んでも構わない)

 どのような素数p1、p2にすればいいのだろうか。


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

2p1+1≡0 (mod3) → p1≡1 (mod3)
6p1+1≡0 (mod5) → p1≡4 (mod5)
30p1+1≡0 (mod7) → p1≡3 (mod7)
210p1+1≡0 (mod11) → p1≡10 (mod11)
2310p1+1≡0 (mod13) → p1≡10 (mod13)

より、 p1≡1 (mod3) 、4 (mod5) 、3 (mod7) 、10 (mod11) 、10 (mod13) なので、

両辺に3を足して、

p1+3≡1 (mod3) 、2 (mod5) 、6 (mod7) 、2 (mod11) 、0 (mod13)

両辺から13を引いて、

p1-10≡0 (mod3) 、4 (mod5) 、0 (mod7) 、0 (mod11) 、0 (mod13)

両辺に3×7×11×13×2を足して

p1+5996≡0 (mod3) 、0 (mod5) 、0 (mod7) 、0 (mod11) 0 (mod13)

 よって、 p1≡9019 (mod15015) で、これを満たす最小の素数p1は、99109
(このとき、13の次は、2976243271)

 30030p2+1≡0 (mod17) → p2≡2 (mod17)

p2≡9019 (mod15015) 、2 (mod17)

両辺に5996を足して。

p2+5996≡0 (mod15015) 14 (mod17)

両辺に15015×5を足して、

p2+81071≡0 (mod15015) 、0 (mod17)

 よって、 p2≡174184 (mod255255) で、これを満たす最小の素数p2は、1960969
(このとき、17の次は、281)


 GAIさんからのコメントです。(令和2年3月10日付け)

 素数全般に対して、総当たりの条件合致の素数を抜き出す作業で、やっとの思いで、p1、
p2を探し出しておりました。

 このmod計算を巧みに使うと、こうも容易く見つけられることに驚き、この手は使える!と新
鮮な小道を発見した思いでした。

 そこで、通常ではとても探し出せない領域に、この道に沿って進んでみました。

 [p19,2,3,5,7,11,13,17,19,・・・] を並ばせることが出来るスタートの素数p19は、余りが、

  [1,4,3,10,10,2,1] for mod [3,5,7,11,13,17,19]

が対応し、中国剰余定理を繰り返し使用して、 p19≡429439 (mod 3*5*11*13*17*19) か
ら素数を探し出し、 p19=10129129

 [p23,2,3,5,7,11,13,17,19,23,・・・] を並ばせることが出来るスタートの素数p23は、余りが、

  [1,4,3,10,10,2,1,3] for mod [3,5,7,11,13,17,19,23]

が対応し、中国剰余定理を繰り返し使用して、p23≡97726649 (mod 3*5*11*13*17*19*23)
から、p23=97726649

 [p29,2,3,5,7,11,13,17,19,23,29,・・・] を並ばせることが出来るスタートの素数p29は、余りが、

  [1,4,3,10,10,2,1,3,17] for mod [3,5,7,11,13,17,19,23,29]

が対応し、中国剰余定理を繰り返し使用して、

 p29≡1314737434 (mod 3*5*11*13*17*19*23*29) から、p29=4549584049

 [p31,2,3,5,7,11,13,17,19,23,29,31,・・・] を並ばせることが出来るスタートの素数p31は、余りが、

  [1,4,3,10,10,2,1,3,17,13] for mod [3,5,7,11,13,17,19,23,29,31]

が対応し、中国剰余定理を繰り返し使用して、

 p31≡27193510354 (mod 3*5*11*13*17*19*23*29*31) から、p31=328034245549

 ここはコンピューターでも随分時間がかかりました。(素数を取り出す部分)

 このp31で時間がかかったので、挑戦はここでストップしました。

 気になったので検索すると、「A093777」で、p59までが調査済みである事が判明しました。
(世の中誰かすでに調べ上げているんですね〜)

 ここには探すプログラムは掲載されておらず、結果だけを見てもただポカンとするだけでし
た。具体的問題に直面して、初めてmodや中国剰余定理のありがたみが見えます。

追伸:p31で時間がかかり過ぎた部分を見直していたら、あっという間に素数p31を見つけら
   れる方法がわかりました。ひょっとしたらこの「A093777」での記録を越えられる手法に
   なっている気がします。でも最後の素数があまりにも大きすぎるか〜.


 GAIさんより、「A093777」の記録更新について、(続報)をいただきました。
                                       (令和2年3月10日付け)

 [p,2,3,5,7,・・・,59,61,・・・] (61の次は1787が並ぶ) を並ばせるための最初の素数pは、

 p=2823242121131685548814529

 以下らすかるさんの示させた道で進み続けると、

 [P,2,3,5,7,・・・・・・,89,97,・・・] の100までの素数が順番に構成していける最初の素数Pは、

 P=2320480043793928735143801141019533289

で並ばせることが出来そうです。(求める素数の一位の数は9になりそうですね。でもなぜ?)

なお、97の次の素数は、1912806114997091でした。


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

 1×2×3≡1 (mod5)
 3×2×3≡3 (mod5)
 7×2×3≡2 (mod5)
 9×2×3≡4 (mod5)

だからですね。できるだけ記録を更新して「A093777」に載せてはいかがでしょうか。


 GAIさんからのコメントです。(令和2年3月11日付け)

 100までの素数をすべて並べると報告していた素数は何と素数の71をすっ飛ばしていまし
た。(下がその配列)

2320480043793928735143801141019533289,2,3,5,7,11,13,17,19,23,29,31,
                     37,41,43,47,53,59,61,67,73,79,83,89,97,1912806114997091

 そこで、その部分も修正しながら「A093777」に載っていない部分の調査を進めてみました。

61:28232421211316855488145292823242121131685548814529,
                     2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,1787,499,

67:この素数で打ち切りとする素数は存在できませんでした。

71:40515008782665009169203116594051500878266500916920311659,
  2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,500770538120158410417307691,89,

73::247871643643633946859680837089247871643643633946859680837089,
                 2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,149,829,

79:これも存在しない。

83:30470316288704668855340877830104393047031628870466885534087783010439,
           2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,4903,12113,

89:381210385844885072405097697260801079381210385844885072405097697260801079,
    2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,13457,11569027879,

97:、101:共に存在できない。

103:531815285207264187880531391186168835811579531815285207264187880531391186168835811579,
2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,33300888170571839,659,

107:存在しない。

109:29354347464021428095411140517097643674880482292935434746402142809541114051709764367488048229,
2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,6449,

113:322392801112392479925132490909611203016334884889322392801112392479925132490909611203016334884889,
2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,31470167,157,

 もうあまりにも大きな素数になってきたので、怖くてここで中止します。「A093777」に載せる
方法がわかりませんので何方かお願いします。


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

 あまり自分で計算する気がなかったのですが、更新しないのはもったいないので、100個
(541まで)計算して載せました。
(100個目で222桁であり、これ以上は素数判定が厳しくなります。)

 本文はまだ更新されていませんが、ファイルだけ更新されていますので、
Table of n, a(n) for n=1..17.」をクリックすると表示されます。

 67、79、97、101、107は「存在しない」と書かれていますが、ちゃんと存在します。

 また、109の 2935434746402142809541114051709764367488048229 は、「最小の素数」
になっていません。

 最初、67が「存在できない」と書かれていましたので、「・・・,59,61,67」の次が71になってしま
うという意味かと思いましたが、次が71であっても問題ありませんので、「存在しない」となるこ
とはないと思います。

 なお、このように「ある素数まで並ぶようにしたらその次が次の素数になってしまう」となる
最小の素数は、397です。397まで並ぶような最小の素数で、397の次が401(397の次の素数)
になりますので、78番目と79番目の値は等しくなります。


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

 67、79、97、101、107は「存在しない」と書かれていますが、ちゃんと存在します。
また、109の2935434746402142809541114051709764367488048229は、 「最小の素数」に
なっていません。


 この間違いがどこで発生してるかをチェックしていくと、求める素数が中国剰余定理を使う
までは、mod 3*5*7*・・・ で考えておきながら、これの合同式を満たす素数を探す段階で、
2*3*5*7*・・・ での世界で探し出していることに気付きました。このおっちょこちょいの性格
は幾つになっても変わりません。お恥ずかしい。

 当然コンピュータに頼って処理するのですが、タイプ一つ間違えれば全く別の計算を忠実
に行う助手なので、計算結果がどんどん出てくれば動いている方に感激して、実際どんな計
算になっているかを改めて検証しようとする意識がコンピュータも数学も素人の自分には欠
けていることを痛感します。

 でも、らすかるさんに計算してもらってよかったです。50桁位の素数に怯える私に対し、222
桁の素数でも踏み込んでいけるんですから見ている世界が圧倒的に違います。後に、この
コーナーを見ることになる人は、こんな大きな数はどうやって探し出したんだろうとポカンとす
るでしょうね。



                         投稿一覧に戻る