超プーレ数 があったとき、その約数 は定義より 超プーレ数・素数・1 のいずれかです。
超プーレ数に対してその約数が多ければ多いほど、多くの超プーレ数を内部に持つことになります。今回は「約数をできるだけ多く持つような超プーレ数」を考えたいと思います。
すなわち、次のような定義が自然に思いつきます。
つまり、これ以上親がいないような、極大の親玉であるような超プーレ数のことを指すわけですね。
"maximal" の訳として「最大」も候補に挙がるのですが、すべての超プーレ数の中で一番大きいわけではないので適切ではないように考えています。
極大超プーレ数の見つけ方
たとえば、次の が極大超プーレ数の例です:
これがプーレ数であることは を確認すればよいので簡単です。
超プーレ数であることは(少し大変ですが) のすべての約数 に対して であることを確認すればよいです。
一方でこれが極大超プーレ数であるというのは、どのように証明したら良いでしょうか?
このためには、 に対して が超プーレ数となるような自然数 が存在しないことを示す必要があるわけですが、 の候補は無限にあるので簡単ではありません。
そこで極大超プーレ数の判定には、もう少しテクニカルな方法を用います。具体的には次の定理を使って判定します。
このとき, とは異なる任意の奇素数 に対して
が成り立つ.(証明)
は超プーレ数より, のとき約数 もまた超プーレ数である.よって であるが,この を考えて
が成り立つ.また についてのフェルマーの小定理より
であり,合わせると
より、 は を割り切る. は奇素数より は を割り切る.
定理の実際の使い方を紹介しましょう。
として、 を を素因数に持つ極大超プーレ数とします。このとき、 の とは異なる素因数 は、定理によれば を割り切るわけです。
すなわち、 の素因数だけが「 を素因数に持つ極大超プーレ数」の素因数になる資格があるというわけです。
実際、 を素因数分解すると
となります。
あとは の素因数の中から、相異なるペアがすべてプーレ数になるような組み合わせを探せばよいわけです。(この記事の定理4より)
実際、下線部の7個の素因数を掛け合わせた数が超プーレ数となります。
他の組み合わせはどうかというと、 はいずれもプーレ数ではありませんので、この時点で「 を素因数に持つ極大超プーレ数」の素因数からは除外してよいことが分かりますね。
したがって、式 の こそが極大超プーレ数だったというわけです。
ちなみに
という形の整数のことをフェルマー商(Fermat quotient)といいます。
つまり、フェルマー商の素因数分解によって、 を素因数に持つ極大超プーレ数が得られるとも言い換えられるわけですね。
他の例は見つけられるか?
以上の一般論によって、 の素因数分解を計算することで、 を素因数に含む極大超プーレ数が得られることが分かりました。そんなわけで、実際に計算してみることにしましょう。
なる素数 について、 の素因数分解を計算してみたのが次の表です。
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]
実際、 はかなり巨大な数になるので、 が大きいほど素因数分解は難しくなります。たとえば のときは
となり、実に31桁です。この素因数を求めるのは、そう簡単ではありませんね。
今回は、100以下の素因数についてはナイーブな方法で因数分解を行い、それより大きな素因数については楕円曲線法を用いて分解しました。その際に因数が素数であるかどうか判定するために、ミラー・ラビン素数判定法 を用いました。
上記の素因数分解の結果から分かることは、たとえば次のようなことです。
の列に注目すると
となっています。したがって、 を含む超プーレ数はすべて のいずれか2個以上を素因数に持ちます。ここで
- はプーレ数ではない()
ことから、 は除外できます。一方
- はプーレ数である()
という事実を確認すると、 は を素因数に含む(唯一の)極大超プーレ数であることが分かります。
また、 の列に注目すると
となっています。したがって、 を含む超プーレ数はすべて のいずれか2個以上を素因数に持ちます。ここで
- はプーレ数ではない()
ことから、 は除外できます。一方
- はプーレ数である()
- はプーレ数である()
- はプーレ数である()
ことから、 のすべてのペアに対してプーレ数であることが分かります。したがって、 は を素因数に含む(唯一の)極大超プーレ数であることが分かります。
同様に考えて、各 に対して、 の素因数により得られる「 を素因数に含む極大超プーレ数」を全探索したのが次のデータです:
なお、各 に対して、 を素因数に持つ極大超プーレ数は、1つとは限らないことに注意しましょう。
たとえば、 のとき
の2つがどちらも を素因数に含む超プーレ数となっています。一方で、 なので互いに約数の関係にはありません。したがって、どちらも極大長プーレ数です。
素因数の個数にも注目してみましょう。
素因数の個数が 以上になる最初に登場する極大超プーレ数をまとめたのが次の表です:
最初に素因数の個数が 以上になる極大超プーレ数 | |
---|---|
※「素因数の個数が 以上になる最小の極大超プーレ数」ではないことに注意。
この意味で、最初に挙げた式 の例は、素因数の個数が7個もあるという特別な例だったというわけですね。
今回の結果()には素因数の個数が8個以上になるものは登場しませんでした。参考文献の記事によれば、 まで計算すれば、素因数の個数が8個のものが登場するようですが、ちょっと計算が大変そうですね・・・。
まとめ
まとめるとこういうことです:
- を素因数分解したときに現れる素因数 全体の集合を とする
- の部分集合であって を含むものを とし、 の数全体を掛けてできる数を とする
- 内の2つの数で作られる任意のペアの積がプーレ数ならば、 は を素因数に持つ超プーレ数
- そうでなければ、 は超プーレ数ではない
- 以上の方法で、 を素因数に持つ(平方因子を持たない)超プーレ数をすべて列挙できる
- を素因数に持つ(平方因子を持たない)極大超プーレ数は、以上で列挙した数全体のなす約数関係に関する束を考えて、その極大元をとればよい
それでは今日はこの辺で!