tsujimotterのノートブック

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

任意の素数はレピュニットの素因数に現れる(2, 5を除く)あとダイヤル数

Twitterって本当に面白いなと思うのですが、人々のいろんな発見が流れてくるのです。

私が最近面白いと思ったのは次のツイートです。


レピュニットについてはこれまでも何度か記事にまとめてきましたが、このツイートに書かれているような事実は知りませんでした。とても面白いと思いましたので、ぜひ紹介させてください。

レピュニット関連の記事はこちらから:
tsujimotter.hatenablog.com

今回の話はレピュニットだけでなく、「循環小数」や「ダイヤル数」という面白いテーマにも広がる話になっています。よろしければ最後までご覧になってください。

ツイートの主張の確認

上のツイートの内容について、必要な前庭知識をまとめておきましょう。

11,111,1111 のように 1 が並ぶ数のことを レピュニット と呼びます。

また、n 桁のレピュニット

(1)111111ntimes

R(n) と表すことにします。

このとき、次が成り立ちます:

定理
2,5 を除く任意の素数 p に対し、ある正整数 n>1 が存在して R(n)p で割り切れる。


実際、レピュニットの素因数を計算してみましょう:

(1)R(2)=11=11(2)R(3)=111=3×37(3)R(4)=1111=11×101(4)R(5)=11111=41×271(5)R(6)=111111=3×37×7×11×13(6)R(7)=1111111=239×4649

レピュニットのように巨大な数の素因数分解の計算においては、楕円曲線法を用いた素因数分解が便利です。こちらのページをお使いください:
tsujimotter.info

iPhoneをお持ちの方は「素数チェッカー」というアプリも便利に使えます:

素数チェッカ

素数チェッカ

  • Heart Solutions, Inc.
  • 教育
  • 無料
apps.apple.com


上で挙げた5つのレピュニットにおいて、素因数として

3,7,11,13,37,101,239,271,4649

という数が登場しました。

これ以外の素数は今の所まだ登場しませんが、R(8),R(9),R(10), と続けていけば、いつかは必ず登場するというのが上の定理の主張です。

とても面白いですね!

素因数の周期性

定理の証明に行く前に、レピュニットの数表についてもう少しだけ観察を続けます。

R(4)=1111112 個並んだ数だと思うことができます。よって、11×101 と分解できます。これは R(2)×101 だと思うことができますね。

同様に、R(6)=111111113 個並んだ数だと思うことができます。すなわち、11×10101=R(2)×10101 と思うことができます。

この調子で考えていくと、R(2) の素因数(つまり、11 自身)は、2個おきにレピュニットに現れることがわかりますね。


また、R(6)=1111111112 個並んだ数だと思うことができます。すなわち、111×1001=R(3)×1001 ということです。 つまり、R(6) には R(3) の素因数(3×37)が登場することになります。

同様に、R(9)=1111111111113 個並んだ数だと思うことができます。すなわち、111×1001001=R(3)×1001001 ということです。実際、R(9) を素因数分解するとこうなります:

R(9)=111111111=32×37×333667

ちゃんと 337 が素因数に登場しますね。

この調子で考えていくと、R(3) の素因数(3×37)は、3個おきにレピュニットに現れることがわかりますね。

f:id:tsujimotter:20200830031908p:plain:w400


以上をまとめるとこういうことになります。

  • R(n) で現れた素因数は R(2n),R(3n),R(4n), でも現れる(周期性

これもなかなか面白い性質ですね!

定理の証明

証明にあたっては、以下の2つのことが必要です:

  1. レピュニット R(n) を扱いやすい数式に落とす
  2. R(n)p を素因数に持つを合同式で表す


1. について考えてみましょう。R(n)=111111ntimes

(2)R(n)=1+10+102++10n1

と表すことができるでしょう。

右辺を 等比数列の和 だと思うと、

R(n)=1+10+102++10n1=10n1101=10n19

と変形できますね。


この数が素数 p を素因数に持つということは、modp0 に合同であるということです。すなわち

(3)R(n)=10n190(modp)

ということですね。これが 2. で述べたことです。

合同式に置き換えることができたら、あとは合同式のルールに乗っ取って変形していけば良いでしょう。


p3 であれば、式 (3) の両辺に 9 を掛けたものは、同値な合同式となります。したがって、以下では p3 としましょう。(p=3 はあとで個別に議論します。)

よって、p3 において

10n10(modp)

すなわち

(4)10n1(modp)

を満たす n>1 の存在を示せば良いことになります。


ここまで来ると色々見えてきますね。フェルマーの小定理 を使いましょう。フェルマーの小定理は、整数の合同式における議論で頻繁に用いられる定理ですので、ご存じない方はこれを機にぜひ覚えていってください。

フェルマーの小定理
整数 a と 素数 p に対し、ap が互いに素であれば、次の合同式が成り立つ:
(5)ap11(modp)

つまり、p と互いに素な a は、modpp1 乗すると 1 と合同になるということですね。


今回の問題は、10modpn 乗したとき 1 に合同になるような n>1 は存在するかという問題でした。

p2,5 のとき、10p は互いに素なので、a=10 としてフェルマーの小定理が使えます。すなわち、p2,5 のとき

(6)10p11(modp)

が成り立ちます。

したがって、これまでの議論を踏まえて、p2,3,5 であれば n=p1 として R(n) が素因数 p を持つことが示されました。


なお、p=3 のときは、R(3)=3×37 は明らかに素因数 3 を持つので成立します。

(証明終わり)


フェルマーの小定理が綺麗に決まって、面白いですね!

証明によって、素数 p を素因数に持つ R(n)n は、多くとも p1 であることが分かりましたね。証明によってメカニズムがよく分かりましたね。


また、上で議論していませんが、R(n) の下一桁が 1 であるため、p=2,5 で割り切れるような R(n) は存在しないことに注意しましょう。



ダイヤル数との関係

ここまでで本題の定理の証明は終わりなのですが、せっかくなのでレピュニットの問題を掘り下げた上で、関連する整数論の話題を紹介したいと思います。

前述の議論では「n=p1R(n)p を素因数に持つ」という事実の証明について述べてきました。

一方で、たとえば p=37 を見ると分かるように、

R(3)=3×37

ですから、n=p1=36 よりもずいぶん前に 37 が素因数に現れることがあります。

もちろん、R(36) においても 37 は素因数に現れます。実際

(7)R(36)=111111111111111111111111111111111111(8)=32×7×11×13×19×37×101×9901×52579×333667×999999000001

となり、たしかに 37 が素因数に現れていますね。


つまり、何が言いたいかというと、n=p1 で確かに R(n) に素因数 p が現れるわけですが、もっと早い n でも素因数に現れる場合があるのです。というか、前に現れるケースの方が多いのです。

というわけで、以降では素数 p に対して「R(n) が素因数 p を持つような最小の整数 n>1」を考えたいと思います。これを np と書くことにしましょう。


実際、2,3,5 を除く 100 以下の素数について、実験してみると次のようになります:

素数 pnpp1
766
11210
13612
171616
191818
232222
292828
311530
37336
41540
432142
474646
531352
595858
616060
673366
713570
73872
791378
834182
894488
979696

ここで、色をつけた素数 p=7,17,19,23,29,47,59,61,97 は、np=p1 であるような素数です。すなわち、最後の最後である R(p1) にならないと素因数に現れない「しぶとい素数」です。


さて、np はというと、合同式 (4)

(4再掲)10n1(modp)

を満たす最小の n>1 と思うことができます。
(つまり、10を何回冪乗したら1になるか、ということですね。)

このような n のことを、modp における 10 の位数 といいます。


modp における位数には、色々重要な性質があります。もっとも顕著な性質としては、位数は p1 の約数である ということです。 (実際、上の表を使って npp1 の約数になっていることを確認してみましょう。)

このことは、フェルマーの小定理の帰結

(6再掲)10p11(modp)

から直ちに導くことができます。


p1 の約数の中で最大のものが p1 自身というわけですが、(modp) の位数が p1 であるような数をmodp の原始根 といいます。つまり、先ほどの「しぶとい素数」たち p=7,17,19,23,29,47,59,61,97 において、10modp の原始根だということですね。

このように問題を言い換えることで、整数論の世界のさまざまな知見が使えるのが面白いです。抽象化することで問題を水平展開できるのです。


最後に応用例として、循環小数ダイヤル数 について紹介しましょう。

p を相変わらず p2,3,5 であるような素数とします。このとき

1/p

という分数を考えて、これを小数展開しましょう。

この小数展開は、必ず有限の桁で循環します。たとえば、

  • 1/7=0.142857142857(6桁で循環する)
  • 1/11=0.0909(2桁で循環する)
  • 1/13=0.076923076923(6桁で循環する)

となります。循環する桁数を「循環節の長さ」ということにしましょう。


ここ重要な事実として、次のようなことが示せます:

  • 1/p の循環節の長さは、modp における 10 の位数に一致する

これは極めて面白い性質です。その理屈は、次のページを読んでいただければ分かるかと思います:
tsujimotter.hatenablog.com


今回の記事のレピュニットの性質を踏まえると、次の等式が成立することがわかりますね:

R(n)p を素因数に持つような最小の n>1
=(modp における 10 の位数)
=(1/p の循環節の長さ)


特に循環節の長さが p1 となるような p に着目しましょう。

たとえば、1/7 の小数展開は

0.142857

であり、142857 が循環節です。この 142857 には面白い性質があって、次のような式が成り立ちます:

142857×1=142857
142857×3=428571
142857×2=285714
142857×6=857142
142857×4=571428
142857×5=714285

1 から 6 までの数をかけると、数が「巡回して」いるように見えるでしょう。
(読者の中には、電卓で上のような遊びをしたことある方も多いのではないでしょうか。)

142857 のような性質を持つ数のことを ダイヤル数 といいます。



ここで面白いのは、ダイヤル数はすべて 1/p の小数展開から作れるということです。これは次のような必要十分条件になっています:

  • ダイヤル数を循環節に持つ小数 1/p は、循環節の長さが p1 であるときに限られる

つまり、こういうことです:

R(n)p を素因数に持つような最小の n>1p1(しぶとい素数)
modp における 10 の位数が p1(10がmodp の原始根)
1/p の循環節の長さが p1
1/p の循環節がダイヤル数


これで「しぶとい素数」とダイヤル数がつながりましたね!面白い!


すなわち、先ほどの色をついた「しぶとい素数」

p=7,17,19,23,29,47,59,61,97

においては、すべて 1/p の循環節がダイヤル数になるということです。

このような性質を持つ p に名前がついているのか調べてみたのですが、どうやら "Full reptend primes" と呼ばれているようですね。
mathworld.wolfram.com

日本語の適切な訳は見つからなかったのですが、ご存知の方がいれば教えてください。

ところで、このような性質を持つ嬉しい素数 p は無限に存在するのでしょうか?

実は、無限かどうかという問題は、現在未解決の予想となっています。アルティン予想 という名前がついていますので、興味がある方はぜひ調べてみてください。


というわけで、いろんな方向に話が広がってしまいましたが、レピュニットから始まる整数論の世界を楽しんでいただけましたでしょうか?

レピュニットについては語り尽くしたと思っていましたが、まだまだ色々な発見がありそうです。

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

関連動画

今回の記事を読んで「フェルマーの小定理」や「modp の整数論」に興味を持った方におすすめの動画です:
www.youtube.com