tsujimotterのノートブック

日曜数学者 tsujimotter の「趣味で数学」実践ノート

極大超プーレ数とフェルマー商の素因数分解

超プーレ数  m があったとき、その約数  d は定義より 超プーレ数・素数・1 のいずれかです。

超プーレ数に対してその約数が多ければ多いほど、多くの超プーレ数を内部に持つことになります。今回は「約数をできるだけ多く持つような超プーレ数」を考えたいと思います。

プーレ数や超プーレ数の定義、基本的な性質についてはこちらの記事で紹介しています:
tsujimotter.hatenablog.com


すなわち、次のような定義が自然に思いつきます。

定義(極大超プーレ数)
超プーレ数  m に対して、 m より大きな超プーレ数  M であって  m \mid M なるものが存在しないとき、 m極大超プーレ数(maximal super-Poulet number)といいます。

つまり、これ以上親がいないような、極大の親玉であるような超プーレ数のことを指すわけですね。

ちなみに「極大」は "maximal" の訳語です。"maximal super-Poulet" に対応する日本語訳が定着していないので私がオリジナルでつけた訳語となります。

"maximal" の訳として「最大」も候補に挙がるのですが、すべての超プーレ数の中で一番大きいわけではないので適切ではないように考えています。




極大超プーレ数の見つけ方

たとえば、次の  m が極大超プーレ数の例です:

 m = 103 \times 307 \times 2143 \times 2857 \times 6529 \times 11119 \times 131071 \tag{1}


これがプーレ数であることは  2^m \equiv 2 \pmod{m} を確認すればよいので簡単です。

超プーレ数であることは(少し大変ですが) m のすべての約数  d に対して  2^d \equiv 2 \pmod{d} であることを確認すればよいです。


一方でこれが極大超プーレ数であるというのは、どのように証明したら良いでしょうか?

このためには、 m に対して  md が超プーレ数となるような自然数  d が存在しないことを示す必要があるわけですが、 d の候補は無限にあるので簡単ではありません。


そこで極大超プーレ数の判定には、もう少しテクニカルな方法を用います。具体的には次の定理を使って判定します。

定理(極大超プーレ数の素因数)
 p を奇素数とし, m = pm' を超プーレ数とする.

このとき, p とは異なる任意の奇素数  q に対して

 q \mid m \;\; \Longrightarrow \;\; q \mid 2^{p-1} - 1
が成り立つ.


(証明)
 m は超プーレ数より, q \mid m のとき約数  pq もまた超プーレ数である.よって  2^{pq} \equiv 2 \pmod{pq} であるが,この \bmod{q} を考えて

 2^{pq} \equiv 2 \pmod{q}

が成り立つ.また \bmod{q} についてのフェルマーの小定理より

 2^{q} \equiv 2 \pmod{q}

であり,合わせると

 2^{p} \equiv (2^q)^p \equiv 2^{pq} \equiv 2 \pmod{q}

より、 q 2^{p} - 2 を割り切る. q は奇素数より  q 2^{p-1} - 1 を割り切る.

(証明終わり)


定理の実際の使い方を紹介しましょう。

 p = 103 として、 m p を素因数に持つ極大超プーレ数とします。このとき、 m p とは異なる素因数  q は、定理によれば  2^{p-1} - 1 を割り切るわけです。


すなわち、 2^{102} - 1 の素因数だけが「 103 を素因数に持つ極大超プーレ数」の素因数になる資格があるというわけです。

実際、 2^{102} - 1 を素因数分解すると

 \begin{align*} 2^{102} - 1 &= 3^2 \times 7 \times \underline{103} \times \underline{307} \times \underline{2143} \\
& \;\;\;\; \times \underline{2857} \times \underline{6529} \times \underline{11119} \times 43691 \times \underline{131071} \end{align*} \tag{2}

となります。


あとは  (2) の素因数の中から、相異なるペアがすべてプーレ数になるような組み合わせを探せばよいわけです。(この記事の定理4より)

実際、下線部の7個の素因数を掛け合わせた数が超プーレ数となります。


他の組み合わせはどうかというと、 3 \times 103, \;\; 7 \times 103, \;\; 43691 \times 103 はいずれもプーレ数ではありませんので、この時点で「 103 を素因数に持つ極大超プーレ数」の素因数からは除外してよいことが分かりますね。

したがって、式  (1) m こそが極大超プーレ数だったというわけです。



ちなみに

 \displaystyle q_p(2) = \frac{2^{p-1} - 1}{p}

という形の整数のことをフェルマー商(Fermat quotient)といいます。

つまり、フェルマー商の素因数分解によって、 p を素因数に持つ極大超プーレ数が得られるとも言い換えられるわけですね。



他の例は見つけられるか?

以上の一般論によって、 2^{p-1} - 1 の素因数分解を計算することで、 p を素因数に含む極大超プーレ数が得られることが分かりました。そんなわけで、実際に計算してみることにしましょう。

 p < 200 なる素数  p について、 2^{p-1} - 1 の素因数分解を計算してみたのが次の表です。

2^1 - 1: []
2^2 - 1: [3]
2^4 - 1: [3, 5]
2^6 - 1: [3, 3, 7]
2^10 - 1: [3, 11, 31]
2^12 - 1: [3, 3, 5, 7, 13]
2^16 - 1: [3, 5, 17, 257]
2^18 - 1: [3, 3, 3, 7, 19, 73]
2^22 - 1: [3, 23, 89, 683]
2^28 - 1: [3, 5, 29, 43, 113, 127]
2^30 - 1: [3, 3, 7, 11, 31, 151, 331]
2^36 - 1: [3, 3, 3, 5, 7, 13, 19, 37, 73, 109]
2^40 - 1: [3, 5, 5, 11, 17, 31, 41, 61681]
2^42 - 1: [3, 3, 7, 7, 43, 127, 337, 5419]
2^46 - 1: [3, 47, 178481, 2796203]
2^52 - 1: [3, 5, 53, 157, 1613, 2731, 8191]
2^58 - 1: [3, 59, 233, 1103, 2089, 3033169]
2^60 - 1: [3, 3, 5, 5, 7, 11, 13, 31, 41, 61, 151, 331, 1321]
2^66 - 1: [3, 3, 7, 23, 67, 89, 683, 20857, 599479]
2^70 - 1: [3, 11, 31, 43, 71, 127, 281, 86171, 122921]
2^72 - 1: [3, 3, 3, 5, 7, 13, 17, 19, 37, 73, 109, 241, 433, 38737]
2^78 - 1: [3, 3, 7, 79, 2731, 8191, 121369, 22366891]
2^82 - 1: [3, 83, 13367, 164511353, 8831418697]
2^88 - 1: [3, 5, 17, 23, 89, 353, 397, 683, 2113, 2931542417]
2^96 - 1: [3, 3, 5, 7, 13, 17, 97, 193, 241, 257, 673, 65537, 22253377]
2^100 - 1: [3, 5, 5, 5, 11, 31, 41, 101, 251, 601, 1801, 4051, 8101, 268501]
2^102 - 1: [3, 3, 7, 103, 307, 2143, 2857, 6529, 11119, 43691, 131071]
2^106 - 1: [3, 107, 6361, 69431, 20394401, 28059810762433]
2^108 - 1: [3, 3, 3, 3, 5, 7, 13, 19, 37, 73, 109, 87211, 246241, 262657, 279073]
2^112 - 1: [3, 5, 17, 29, 43, 113, 127, 257, 5153, 15790321, 54410972897]
2^126 - 1: [3, 3, 3, 7, 7, 19, 43, 73, 127, 337, 5419, 92737, 649657, 77158673929]
2^130 - 1: [3, 11, 31, 131, 2731, 8191, 409891, 7623851, 145295143558111]
2^136 - 1: [3, 5, 17, 17, 137, 953, 26317, 43691, 131071, 354689, 2879347902817]
2^138 - 1: [3, 3, 7, 47, 139, 178481, 2796203, 168749965921, 10052678938039]
2^148 - 1: [3, 5, 149, 223, 593, 1777, 25781083, 184481113, 231769777, 616318177]
2^150 - 1: [3, 3, 7, 11, 31, 151, 251, 331, 601, 1801, 4051, 100801, 10567201, 1133836730401]
2^156 - 1: [3, 3, 5, 7, 13, 13, 53, 79, 157, 313, 1249, 1613, 2731, 3121, 8191, 21841, 121369, 22366891]
2^162 - 1: [3, 3, 3, 3, 3, 7, 19, 73, 163, 2593, 71119, 87211, 135433, 262657, 97685839, 272010961]
2^166 - 1: [3, 167, 499, 1163, 2657, 155377, 13455809771, 57912614113275649087721]
2^172 - 1: [3, 5, 173, 431, 9719, 101653, 500177, 2099863, 1759217765581, 2932031007403]
2^178 - 1: [3, 179, 62020897, 18584774046020617, 618970019642690137449562111]
2^180 - 1: [3, 3, 3, 5, 5, 7, 11, 13, 19, 31, 37, 41, 61, 73, 109, 151, 181, 331, 631, 1321, 23311, 54001, 18837001, 29247661]
2^190 - 1: [3, 11, 31, 191, 2281, 174763, 524287, 420778751, 30327152671, 3011347479614249131]
2^192 - 1: [3, 3, 5, 7, 13, 17, 97, 193, 241, 257, 641, 673, 65537, 6700417, 22253377, 18446744069414584321]
2^196 - 1: [3, 5, 29, 43, 113, 127, 197, 19707683773, 4363953127297, 4432676798593, 4981857697937]
2^198 - 1: [3, 3, 3, 7, 19, 23, 67, 73, 89, 199, 683, 5347, 20857, 153649, 599479, 33057806959, 242099935645987]


実際、 2^{p-1} - 1 はかなり巨大な数になるので、 p が大きいほど素因数分解は難しくなります。たとえば  p = 103 のときは

 2^{102} - 1 = 5070602400912917605986812821503

となり、実に31桁です。この素因数を求めるのは、そう簡単ではありませんね。

今回は、100以下の素因数についてはナイーブな方法で因数分解を行い、それより大きな素因数については楕円曲線法を用いて分解しました。その際に因数が素数であるかどうか判定するために、ミラー・ラビン素数判定法 を用いました。



上記の素因数分解の結果から分かることは、たとえば次のようなことです。


 p = 11 の列に注目すると

 2^{10} - 1 = 3 \times 11 \times 31

となっています。したがって、 11 を含む超プーレ数はすべて  3, 11, 31 のいずれか2個以上を素因数に持ちます。ここで

  •  3 \times 11 はプーレ数ではない( 2^{3\times 11} \equiv 8 \pmod{3\times 11}

ことから、 3 は除外できます。一方

  •  11 \times 31 はプーレ数である( 2^{11\times 31} \equiv 2 \pmod{11\times 31}

という事実を確認すると、 11 \times 31 11 を素因数に含む(唯一の)極大超プーレ数であることが分かります。


また、 p = 23 の列に注目すると

 2^{13} - 1 = 3 \times 23 \times 89 \times 683

となっています。したがって、 23 を含む超プーレ数はすべて  3, 23, 89, 683 のいずれか2個以上を素因数に持ちます。ここで

  •  3 \times 23 はプーレ数ではない( 2^{3\times 21} \equiv 8 \pmod{3\times 21}

ことから、 3 は除外できます。一方

  •  23 \times 89 はプーレ数である( 2^{23\times 89} \equiv 2 \pmod{23\times 89}
  •  23 \times 683 はプーレ数である( 2^{23\times 683} \equiv 2 \pmod{23\times 683}
  •  89 \times 683 はプーレ数である( 2^{89\times 683} \equiv 2 \pmod{89\times 683}

ことから、 23, 89, 683 のすべてのペアに対してプーレ数であることが分かります。したがって、 23 \times 89 \times 683 23 を素因数に含む(唯一の)極大超プーレ数であることが分かります。


同様に考えて、各  p に対して、 2^{p-1} - 1 の素因数により得られる「 p を素因数に含む極大超プーレ数」を全探索したのが次のデータです:

 \begin{align*} 3 :\;\;  \end{align*}
 \begin{align*} 5 :\;\;  \end{align*}
 \begin{align*} 7 :\;\;  \end{align*}
 \begin{align*} 11 :\;\; &341=11\times31, \\ \end{align*}
 \begin{align*} 13 :\;\;  \end{align*}
 \begin{align*} 17 :\;\; &4369=17\times257, \\ \end{align*}
 \begin{align*} 19 :\;\; &1387=19\times73, \\ \end{align*}
 \begin{align*} 23 :\;\; &1398101=23\times89\times683, \\ \end{align*}
 \begin{align*} 29 :\;\; &3277=29\times113, \\ \end{align*}
 \begin{align*} 31 :\;\; &341=11\times31, \\&1549411=31\times151\times331, \\ \end{align*}
 \begin{align*} 37 :\;\; &294409=37\times73\times109, \\ \end{align*}
 \begin{align*} 41 :\;\; &2528921=41\times61681, \\ \end{align*}
 \begin{align*} 43 :\;\; &9972894583=43\times127\times337\times5419, \\ \end{align*}
 \begin{align*} 47 :\;\; &23456248059221=47\times178481\times2796203, \\ \end{align*}
 \begin{align*} 53 :\;\; &13421773=53\times157\times1613, \\ \end{align*}
 \begin{align*} 59 :\;\; &96076792050570581=59\times233\times1103\times2089\times3033169, \\ \end{align*}
 \begin{align*} 61 :\;\; &80581=61\times1321, \\ \end{align*}
 \begin{align*} 67 :\;\; &837723344701=67\times20857\times599479, \\ \end{align*}
 \begin{align*} 71 :\;\; &211325490770941=71\times281\times86171\times122921, \\ \end{align*}
 \begin{align*} 73 :\;\; &1387=19\times73, \\&294409=37\times73\times109, \\&1224437833=73\times433\times38737, \\ \end{align*}
 \begin{align*} 79 :\;\; &4797324681010433232961=79\times2731\times8191\times121369\times22366891, \\ \end{align*}
 \begin{align*} 83 :\;\; &1611901092819505566274901=83\times13367\times164511353\times8831418697, \\ \end{align*}
 \begin{align*} 89 :\;\; &1398101=23\times89\times683, \\&74658629=89\times397\times2113, \\&194607866526760457=89\times353\times2113\times2931542417, \\ \end{align*}
 \begin{align*} 97 :\;\; &15732721=97\times241\times673, \\&280375481859841=97\times193\times673\times22253377, \\ \end{align*}
 \begin{align*} 101 :\;\; &237790280012949101=101\times601\times1801\times8101\times268501, \\ \end{align*}
 \begin{align*} 103 :\;\; &1842158622953082708177091=103\times307\times2143\times2857\times6529\times11119\times131071, \\ \end{align*}
 \begin{align*} 107 :\;\; &27043212804868893898596335048021=107\times6361\times69431\times20394401\times28059810762433, \\ \end{align*}
 \begin{align*} 109 :\;\; &294409=37\times73\times109, \\&1967404519461542509=109\times246241\times262657\times279073, \\ \end{align*}
 \begin{align*} 113 :\;\; &3277=29\times113, \\&500283334860553377085793=113\times5153\times15790321\times54410972897, \\ \end{align*}
 \begin{align*} 127 :\;\; &9972894583=43\times127\times337\times5419, \\&3199225052034153185334422293=127\times5419\times92737\times649657\times77158673929, \\ \end{align*}
 \begin{align*} 131 :\;\; &1330527338889299954891005307651097601=131\times2731\times8191\times409891\times7623851\times145295143558111, \\ \end{align*}
 \begin{align*} 137 :\;\; &3435973837=137\times953\times26317, \\&133338427848171225940193=137\times953\times354689\times2879347902817, \\ \end{align*}
 \begin{align*} 139 :\;\; &235798102721028165159079741=139\times168749965921\times10052678938039, \\ \end{align*}
 \begin{align*} 149 :\;\; &4137538797107289477120495766236253=149\times593\times1777\times184481113\times231769777\times616318177, \\ \end{align*}
 \begin{align*} 151 :\;\; &1549411=31\times151\times331, \\&799655089842435230735690975975572501=151\times601\times1801\times4051\times100801\times10567201\times1133836730401, \\ \end{align*}
 \begin{align*} 157 :\;\; &13421773=53\times157\times1613, \\&507785727098312895181=157\times313\times1249\times3121\times21841\times121369, \\ \end{align*}
 \begin{align*} 163 :\;\; &108172851219475581599184843352747=163\times2593\times71119\times135433\times97685839\times272010961, \\ \end{align*}
 \begin{align*} 167 :\;\; &31178701596392595588345276431280704419326560916821=167\times499\times1163\times2657\times155377\times13455809771\times57912614113275649087721, \\ \end{align*}
 \begin{align*} 173 :\;\; &15474250491067253436239053=173\times101653\times500177\times1759217765581, \\ \end{align*}
 \begin{align*} 179 :\;\; &127707961738824071529862252262525765301561593515300181=179\times62020897\times18584774046020617\times618970019642690137449562111, \\ \end{align*}
 \begin{align*} 181 :\;\; &5384969877256286957641=181\times54001\times18837001\times29247661, \\ \end{align*}
 \begin{align*} 191 :\;\; &16741908418899145782015714798169585689293821=191\times2281\times420778751\times30327152671\times3011347479614249131, \\ \end{align*}
 \begin{align*} 193 :\;\; &280375481859841=97\times193\times673\times22253377, \\&530853626682227911310468665418530177=193\times6700417\times22253377\times18446744069414584321, \\ \end{align*}
 \begin{align*} 197 :\;\; &374144420550507727160604141398991659494598756007937=197\times19707683773\times4363953127297\times4432676798593\times4981857697937, \\ \end{align*}
 \begin{align*} 199 :\;\; &1308463799744055615353948737131249601=199\times5347\times153649\times33057806959\times242099935645987, \\ \end{align*}


なお、各  p に対して、 p を素因数に持つ極大超プーレ数は、1つとは限らないことに注意しましょう。

たとえば、 p = 31 のとき

  •  341 = 11 \times 31
  •  1549411=31\times151\times331

の2つがどちらも  31 を素因数に含む超プーレ数となっています。一方で、 341 \nmid 1549411 なので互いに約数の関係にはありません。したがって、どちらも極大長プーレ数です。



素因数の個数にも注目してみましょう。

素因数の個数が  N = 2, 3, 4, 5, 6, 7 以上になる最初に登場する極大超プーレ数をまとめたのが次の表です:

 N最初に素因数の個数が  N 以上になる極大超プーレ数
 2 341=11\times31
 3 1398101=23\times89\times683
 4 9972894583=43\times127\times337\times5419
 5 96076792050570581=59\times233\times1103\times2089\times3033169
 6 1842158622953082708177091=103\times307\times2143\times2857\times6529\times11119\times131071
 7 1842158622953082708177091=103\times307\times2143\times2857\times6529\times11119\times131071

※「素因数の個数が  N 以上になる最小の極大超プーレ数」ではないことに注意。


この意味で、最初に挙げた式  (1) の例は、素因数の個数が7個もあるという特別な例だったというわけですね。


今回の結果( p < 200)には素因数の個数が8個以上になるものは登場しませんでした。参考文献の記事によれば、 p = 1801 まで計算すれば、素因数の個数が8個のものが登場するようですが、ちょっと計算が大変そうですね・・・。


まとめ

まとめるとこういうことです:

素数  p を素因数に持つ(平方因子を持たない)超プーレ数をすべて列挙する方法

  •  2^{p-1} - 1 を素因数分解したときに現れる素因数  q 全体の集合を  Q とする
  •  Q の部分集合であって  p を含むものを  A とし、 A の数全体を掛けてできる数を  m_A とする
    •  A 内の2つの数で作られる任意のペアの積がプーレ数ならば、 m_A p を素因数に持つ超プーレ数
    • そうでなければ、 m_A は超プーレ数ではない
  • 以上の方法で、  p を素因数に持つ(平方因子を持たない)超プーレ数をすべて列挙できる
  •  p を素因数に持つ(平方因子を持たない)極大超プーレ数は、以上で列挙した数全体のなす約数関係に関する束を考えて、その極大元をとればよい


それでは今日はこの辺で!


参考文献

www.numericana.com