登場人物紹介
僕:数学が好きな高校生。
テトラちゃん:僕の後輩。 好奇心旺盛で根気強い《元気少女》。言葉が大好き。
フェルマーの小定理
$p$ は素数で、 $n$ は $p$ と互いに素な整数とする。
このとき、
$$ \large n^{p-1}\equiv 1\pmod p $$
が成り立つ。
僕「うん、 $n^0,n^1,n^2,\ldots$ をそれぞれ $p$ で割った余りを観察すれば、 テトラちゃんが見つけたような予想ができる。 でもそれはあくまで予想だ。 でも、これを証明できれば、 《フェルマーの小定理》が証明できたことになる」
問題
次の命題を証明せよ。
命題
$p$ を素数とする。 $n$ を $p$ と互いに素な整数とする。
いま $d$ を、 $$ n^d \equiv 1 \pmod p $$ を満たす正整数のうち、最小のものとする。
このとき $d$ は $p - 1$ の約数である。
テトラ「あとはこれを証明すればいい?」
僕「そういうことだね。 すでに《鳩の巣論法》でこの $d$ が必ず存在することは示した(第473回参照)。 だから、 $d$ が $p-1$ の約数であることを示すのがラスボスだよ!」
テトラ「ラスボス!」
そう言うと、テトラちゃんは真剣な顔になり、ノートに向かって何かを書き始めた。 どうやら具体的な数で証明の糸口を探ろうとしているようだ。
この命題の主張自体はシンプルだし、具体的な数で確かめられる。
たとえば、 $p = 7, n = 2$ として、 $n^1,n^2,n^3,n^4,n^5,n^6$ をそれぞれ $7$ で割った余りを並べる。 《$n$ を掛けて $p$ で割った余りを得る》ことを $\to$ による《ジャンプ》と見ると、 $$ \overbrace{ \underbrace{2\to4\to\MARK1}_{d = 3} \to 2\to4\to\MARK1 }^{p-1=6} $$ となる。最初の $\MARK1$ に《着地》するまで $2,4,1$ の $3$ 個あるから $d = 3$ だ。 そして確かに $d = 3$ は $p - 1 = 6$ の約数になっている。
たとえば、 $p = 7, n = 6$ として、同じことをすると、 $$ \overbrace{ \underbrace{6\to\MARK1}_{d = 2} \to 6\to\MARK1 \to 6\to\MARK1 }^{p-1=6} $$ でやはり $d = 2$ は $p - 1 = 6$ の約数になっている。
パターンはわかる。でも $d$ が必ず $p-1$ の約数になる証明はどうだろう。

僕「……」
テトラ「具体的なパターンははっきりわかります。 $p = 7$ で $n = 2$ のとき、 $$ 2\to4\to\MARK1 $$ のように $\MARK1$ に着地したら、 あとはまた $n = 2$ から始まりますので、 $2\to4\to\MARK1$ がループとなって繰り返されることはわかります」
$p = 7, n = 2$ のとき、 $2\to4\to\MARK1$ がループする

僕「そうだね」
テトラ「$d$ というのはこのループの長さということですよね。 $d=3$ が $p-1=6$ の約数になるのはすぐわかりますけれど、 一般的に証明するのは難しいです。 もどかしい……」
僕「$2,4,\MARK1$ 以外はどうだろう? つまりループ外にある数」
テトラ「$2,4,\MARK1$ 以外?」
僕「$p = 7$ で考えているから、 $1$ から $p-1$ までの整数は $$ 1,2,3,4,5,6 $$ という $6$ 個になる。 そのうち、ループの $2,4,\MARK1$ に入ってないループ外の数は $3,5,6$ の $3$ 個ある」
ループ内の $2,4,\MARK1$ と、ループ外の $3,5,6$($p=7, n=2$ の場合)

テトラ「そうですね。でもそれはループ外ですから、あまり $d$ とは関係ないような……」
僕「そんなことはないよ。 だって、もしもループの長さ $d$ が $p-1$ の約数になるというなら、 ループの長さ $d$ は、 $(p-1)-d$ の約数でもある。つまり、 $d$ は、 ループ外に取り残された数の個数 の約数になるはずだよね」
テトラ「えっえっ?」
僕「たとえば、 $p=7, n=2$ なら、 全体の $p-1=6$ 個から ループ内にある $2,4,\MARK1$ の $d=3$ 個を引くと、 残りは $3,5,6$ の $3$ 個で、 $d=3$ はその約数になっている」
テトラ「それはそうですね」
僕「それからたとえば、 $p = 7, n = 6$ なら、ループ内に $6,\MARK1$ の $d=2$ 個があって、 ループ外には $2,3,4,5$ の $4$ 個がある。そして $d=2$ は $4$ の約数になっている」
ループ内の $6,\MARK1$ と、ループ外の $2,3,4,5$($p=7,n=6$ の場合)

テトラ「あっあっあっ! 待って待って待って! あたし、わかったかも! 別のループができそう!」
僕「おっ?」
テトラ「あたしたちが作った $$ 6\to\MARK1\qquad(\cdots\to6\to\MARK1\to\cdots) $$ とは別のループとして、 $$ 2\to5\qquad(\cdots\to2\to5\to\cdots) $$ というループができます! それから、 $$ 3\to4\qquad(\cdots\to3\to4\to\cdots) $$ というループも! ぜんぶ、《$6$ を掛けて $7$ で割った余り》で《ジャンプ》するループです!」
ループ $6,\MARK1$ と、ループ $2,5$ と、ループ $3,4$($p=7,n=6$ の場合)

僕「なるほど、なるほど。 《$6$ を掛けて $7$ で割った余り》を使って 新たなループを作り出したんだね。出発点を $2$ にしたらループ $2,5$ ができて、 出発点を $3$ にしたらループ $3,4$ ができる。つまり、テトラちゃんのいう《ジャンプ》は、 《$p=7$ を法とする世界》での《$n=6$ 倍》なんだ!」
テトラ「そうですね」
僕「うん、これで一般化した証明ができるよ。 $n^1,n^2,\ldots,n^d$ というループに対して……」
テトラ「あっ、すっ、すみません。 $p=7,n=2$ で具体例を確かめたいです。本当に別のループができるかどうか」
僕「そうだね、さすがテトラちゃんだ」
テトラ「すぐにできます。 まず最初のループは、 $2\to4\to\MARK1$ でした。 これは $2$ から始めて《$p=7$ を法とする世界》での《$n=2$ 倍》です。 $$ 1,2,3,4,5,6 $$ の中からループ $2,4,\MARK1$ 以外の数として $3$ を選びます。 $3$ から始めて《$p=7$ を法とする世界》での《$n=2$ 倍》を繰り返すと、 $$ 3\to6\to5 $$ になりますね。 $5$ は $6\times 2=12$ を $7$ で割った余りです。 そして $5\times2 = 10$ を $7$ で割った余りは $3$ でループになります!」
ループ $2,4,\MARK1$ と、ループ $6,5,3$($p=7,n=2$ の場合)

僕「いいね! じゃあ、一般化した証明を作ろう。 $$ n^1,n^2,\ldots,n^d $$ というループに対して、ループ外の数 $m$ を一つ選んで、 $$ mn^1,mn^2,\ldots,mn^d $$ という数列を作る。すると……」
問題(再掲)
次の命題を証明せよ。
命題
$p$ を素数とする。 $n$ を $p$ と互いに素な整数とする。
いま $d$ を、 $$ n^d \equiv 1 \pmod p $$ を満たす正整数のうち、最小のものとする。
このとき $d$ は $p - 1$ の約数である。

テトラ「ちょっとお待ちください。 ループとなるのは、 $$ n^1\COMMA n^2\COMMA \ldots\COMMA n^d $$ ではないですよね。単なる冪乗ではなく、 $p$ で割った余りを考える必要があります」
僕「あっと、確かにそうだなあ……一般的に書くときに面倒だから、 余りを表す表記の約束を決めよう」
テトラ「表記の約束?」
僕「うん、これから 整数 $a$ を $p$ で割った余りを $$ \BAR{a} $$ と表記することにしよう」
表記の約束
$p$ を法としたときの整数 $a$ の剰余を、 $\BAR{a}$ と表記する。
このとき、 $$ a\equiv\BAR{a} \pmod p $$ であり、 $$ \BAR{a}\in\SET{0,1,2,\ldots,p-1} $$ である。
テトラ「なるほど。 具体例で確かめます。 $p = 7$ で $n = 2$ のときのループは $2,4,\MARK1$ ですが、それを $$ \BAR{2^1}\COMMA\BAR{2^2}\COMMA\BAR{2^3} = \MARK1 $$ と書けるということですね。 $2^3 = 8$ ですけれど、 $8$ を $7$ で割った余りは $1$ なので $\BAR{8} = 1$ になる」
僕「そういうこと。 $\overline{\text{この表記}}$を使うと、 $n$ から始まって $\MARK1$ に着地するループは、 $$ \BAR{n^1}\COMMA\BAR{n^2}\COMMA\ldots\COMMA\BAR{n^d} = \MARK1 $$ と書ける。 これで一般化する証明が書きやすくなる」
テトラ「そうですね。 $a\equiv b\pmod p$ が $\BAR{a}=\BAR{b}$ と書けます」
僕「もしも、たまたま このループが $1,2,\ldots,p-1$ のすべてを巡ってくれたなら、うれしい。 その場合は $d = p-1$ になって、 $d$ は $p-1$ の約数になっているから」
テトラちゃんがそこで手を広げて僕に向けた。ストップの合図だ。
テトラ「ちょっとお待ちください。 あたしの理解を確認させてください。 すべてを巡るというのは、 たとえば、 $p = 7, n = 3$ のときのような場合ですね? ループは、 $$ \BAR{3^1}\COMMA \BAR{3^2}\COMMA \BAR{3^3}\COMMA \BAR{3^4}\COMMA \BAR{3^5}\COMMA \BAR{3^6}=\MARK1 $$ で、具体的には $$ 3\COMMA 2\COMMA 6\COMMA 4\COMMA 5\COMMA \MARK1 $$ です。いまおっしゃったのはこのような場合のことですよね?」
すべてを巡るループ $3,2,6,4,5,\MARK1$($p=7,n=3$ の場合)

僕「そういうこと。 $d = p-1$ の場合は $d$ は $p-1$ の約数になるから、 もう考えなくていい」
テトラ「はいはい、わかります。 ラスボスの一部を撃破しました!」
僕「$d = p-1$ の場合は済んだから、 証明の残りでは $d < p-1$ の場合を考えることになる」
テトラ「はい。 ループ外の数からスタートして 別のループ を作るんです!」
無料で「試し読み」できるのはここまでです。 この続きをお読みになるには「読み放題プラン」へのご参加が必要です。
ひと月500円で「読み放題プラン」へご参加いただきますと、 470本以上の記事がすべて読み放題になりますので、 ぜひ、ご参加ください。
参加済みの方/すぐに参加したい方はこちら
結城浩のメンバーシップで参加 結城浩のpixivFANBOXで参加(2026年7月17日)