§A4.7フェルマーの小定理とオイラーの定理

最終更新

フェルマーの小定理とは、ppが素数でppがaaを割り切らないとき、

ap−1≡1(modp)a^{p-1} \equiv 1 \pmod p

が成り立つ、という定理です。証明の骨格は「並べ替え」の観察にあります。

1 証明のスケッチ

{a,2a,…,(p−1)a}\{a, 2a, \dots, (p-1)a\}というp−1p-1個の数を、法ppで見てみます。これは{1,2,…,p−1}\{1, 2, \dots, p-1\}の並べ替えになっています。 理由は単射性です。もしia≡ja(modp)ia \equiv ja \pmod p(1≤i,j≤p−11\le i,j\le p-1)ならp∣(i−j)ap \mid (i-j)a。ppは素数でp∤ap \nmid aだからp∣(i−j)p \mid (i-j)、範囲からi=ji=j。p−1p-1個の値が単射にp−1p-1個の枠(00を除いた余り)へ収まるので全単射、つまり並べ替えです(どのiaiaも00にはなりません。p∣iap \mid iaならp∣ip\mid iかp∣ap \mid aで、どちらも範囲外か仮定に反します)。

並べ替えなら、両方の積は法ppで等しくなります。

a⋅2a⋯(p−1)a≡1⋅2⋯(p−1)(modp)⟹(p−1)! ap−1≡(p−1)!(modp)a \cdot 2a \cdots (p-1)a \equiv 1 \cdot 2 \cdots (p-1) \pmod p \quad\Longrightarrow\quad (p-1)! \, a^{p-1} \equiv (p-1)! \pmod p

(p−1)!(p-1)!は11からp−1p-1までの積で、どの因数も素数ppで割り切れないからgcd⁡((p−1)!,p)=1\gcd((p-1)!, p) = 1。だから両辺を(p−1)!(p-1)!で割ってよく(合同式の割り算ができる条件そのもの)、ap−1≡1(modp)a^{p-1} \equiv 1 \pmod pが残ります。

2 オイラーの定理:法が素数でなくても

同じ議論は、法nnが合成数でも通用します。11からnnまでのうちnnと互いに素なもの全体(既約剰余系、個数はφ(n)\varphi(n))にaa(gcd⁡(a,n)=1\gcd(a,n)=1)を掛けても、同じ単射性の議論で既約剰余系の並べ替えになります。全部の積を比べれば、フェルマーの証明とそっくりの手順で

aφ(n)≡1(modn)a^{\varphi(n)} \equiv 1 \pmod n

が出ます。オイラーの定理です。フェルマーの小定理はn=pn = p(素数ならφ(p)=p−1\varphi(p) = p-1)の特別な場合になっています。

3 使ってみる:3100 mod 73^{100} \bmod 7

p=7p=7なので36≡1(mod7)3^6 \equiv 1 \pmod 7(フェルマー)。100=6×16+4100 = 6 \times 16 + 4なので

3100≡(36)16⋅34≡34(mod7)3^{100} \equiv (3^6)^{16} \cdot 3^4 \equiv 3^4 \pmod 7

31≡3,32≡2,33≡6,34≡4(mod7)3^1\equiv3, 3^2\equiv2, 3^3\equiv6, 3^4\equiv 4 \pmod 7より、3100≡4(mod7)3^{100} \equiv 4 \pmod 7。指数がどれだけ巨大でも、法より1小さい数で指数を割った余りだけ見ればよい、というのが定理の実用的な使い方です。

4 逆は成り立たない:擬素数

フェルマーの小定理の逆は成り立ちません。つまりan−1≡1(modn)a^{n-1}\equiv1\pmod nが成り立つからといってnnが素数とは限りません。有名な例が2340≡1(mod341)2^{340}\equiv1 \pmod{341}で、341=11×31341 = 11 \times 31は合成数です(22を底とする擬素数)。さらに悪いことに、561=3×11×17561 = 3\times11\times17のようなカーマイケル数は、自分と互いに素などんな底aaに対してもa560≡1(mod561)a^{560}\equiv1\pmod{561}を満たしてしまい、フェルマーテストを完全に欺きます。それでも「an−1≢1(modn)a^{n-1}\not\equiv1 \pmod nが1つでも見つかればnnは合成数と確定できる」という片方向の判定力は失われないため、フェルマーテストは今日の確率的素数判定法(さらに強力なミラー–ラビン法など)の出発点になっています。

閑話休題:証明を書かない人、フェルマー フェルマーがこの定理を書き残したのは1640年、フレニクル・ド・ベシーへの手紙でのことでした。「証明は長すぎるので送らない」と結んで、詳細を残さなかったのです。最初に公刊された証明は、それから約100年後の1736年、オイラーによるものでした。「フェルマーは定理だけ書いて証明を書かない」——これは彼の代名詞となった最終定理(フェルマーの最終定理、証明が公になったのは 1995年、ワイルズによる)と全く同じ構図です。もっとも小定理のほうは、オイラーがきちんと後始末をつけてくれました。

例題

条件と何を求めるかを確認してから、式と答えの対応を見比べてください。

次のべき乗を、指定された法で計算せよ(フェルマーの小定理・オイラーの定理で指数を落とすこと)。

解法の型gcd(a,n)=1gcd(a,n)=1 のとき aϕ(n)a^\phi(n)≡\equiv 1 (mod n)(n が素数 p なら a^(p−1) ≡\equiv 1)。指数を ϕ(n)\phi(n) で割った余りに落とす

  1. 4^54 を 11 で割った余りを求めよ。

    454 mod 114^{54} \bmod 11
  2. 5^355 を 23 で割った余りを求めよ。

    5355 mod 235^{355} \bmod 23
  3. 3^130 を 7 で割った余りを求めよ。

    3130 mod 73^{130} \bmod 7
  4. 5^178 を 17 で割った余りを求めよ。

    5178 mod 175^{178} \bmod 17
  5. 4^110 を 7 で割った余りを求めよ。

    4110 mod 74^{110} \bmod 7
  6. 9^332 を 23 で割った余りを求めよ。

    9332 mod 239^{332} \bmod 23
  7. 8^196 を 17 で割った余りを求めよ。

    8196 mod 178^{196} \bmod 17
  8. 5^137 を 21 で割った余りを求めよ。

    5137 mod 215^{137} \bmod 21
  9. 8^111 を 13 で割った余りを求めよ。

    8111 mod 138^{111} \bmod 13
  10. 3^360 を 35 で割った余りを求めよ。

    3360 mod 353^{360} \bmod 35

演習

問題を解いてから「解答・解説」を開けます。

次のべき乗を、指定された法で計算せよ(フェルマーの小定理・オイラーの定理で指数を落とすこと)。

演習を読み込み中…

前提記事