フェルマーの小定理とは、が素数でがを割り切らないとき、
が成り立つ、という定理です。この定理は、余りの「並べ替え」を観察することによって証明します。
最終更新
フェルマーの小定理とは、が素数でがを割り切らないとき、
が成り立つ、という定理です。この定理は、余りの「並べ替え」を観察することによって証明します。
定理 1.1.を素数、をを満たす整数とすると、
が成り立つ。
証明.を満たす整数を取る。かつなので、§A4.2 補題 2.1によりである。したがっての法における余りはのいずれかである。ならばであり、同じ補題とからを得る。なのでであり、となる。よっての余りは互いに異なり、の並べ替えになる。
両方の積を取ると
を得る。§A4.2 補題 2.1を繰り返し用いると、はを割り切らないので、である。したがって§A4.5 命題 3.2によりを消去して、を得る。▨
法が合成数の場合には、法と互いに素な整数を用いて、フェルマーの小定理の証明と同じ議論を行います。
定義 2.1 (既約剰余系). 整数に対し、と互いに素な剰余類から代表を一つずつ選んだ組を、法の既約剰余系 (reduced residue system) という。
以上以下でと互いに素な整数の全体は、法の既約剰余系です。その個数をと書きます。
定理 2.2.を整数、をを満たす整数とすると、
が成り立つ。
証明.以上以下でと互いに素な整数をとする。各はと互いに素である。実際、とに共通する素因数があれば、§A4.2 補題 2.1により、その素数はのどちらかを割り切り、に反する。の法における余りもと互いに素であるので、その余りはのいずれかに等しい。ならば、と§A4.5 命題 3.2によってを消去してを得る。は以上以下なのでであり、となる。したがって、の余りはの並べ替えになる。
とおく。両方の積を取ると
を得る。各はと互いに素なので、§A4.2 補題 2.1を繰り返し用いると、のどの素因数もを割り切らない。よってであり、§A4.5 命題 3.2によりを消去してを得る。▨
注意 2.3. 法では、任意の二整数の差がで割り切れるので、すべての整数は互いに合同である。であり、任意の整数に対してが成り立つ。
素数に対してはなので、フェルマーの小定理はオイラーの定理の特別な場合です。
命題 3.1.を整数、をを満たす整数とする。任意の非負整数に対して
が成り立つ。また、非負整数をで割った余りをとすると、
が成り立つ。
注意 3.2.は累乗の余りの周期の一つであり、最小の正の周期とは限らない。例えばなら、すべての非負整数に対してなので、最小の正の周期はであるが、である。
問題 3.4.をで割った余りを求めよ。
なので、法にオイラーの定理を直接適用することはできない。と分ける。なので、である。以上以下でと互いに素でない整数はの五つなので、である。だから、定理 2.2よりであり、
となる。
求める余りをとすると、よりと書くことができる。法ではなので、となる。したがってであり、より、求める余りはである。とは互いに素なので、§A4.6 補題 2.1によって、二つの余りの条件を満たす剰余類は法でただ一つである。▨
定義 4.1 (擬素数とカーマイケル数).を整数とする。合成数がかつを満たすとき、を底の擬素数 (pseudoprime) という。任意の整数について、ならばとなる合成数を、カーマイケル数 (Carmichael number) という。
例 4.2.は合成数であるが、なので、
となる。したがっては底の擬素数であり、フェルマーの小定理の逆は成り立たない。
例 4.3.はカーマイケル数である。実際、を満たす整数を取ると、はのいずれでも割り切れない。定理 1.1により、、、である。はすべてを割り切るので、はのそれぞれで割り切れる。相異なる素因数の積もを割り切るので、となる。
命題 4.4. 整数に対して、かつを満たす整数が存在すれば、は合成数である。
証明.が素数であれば、からとなり、定理 1.1によりとなる。したがって、仮定を満たすが存在するとき、は素数ではない。なので、は合成数である。▨
と互いに素な底を選び、の余りを調べる方法をフェルマーテストといいます。余りがでなければを合成数と判定することができますが、余りがでもを素数と確定することはできません。フェルマーテストは、ミラー–ラビン法などの確率的素数判定法の出発点となる方法です。
閑話休題:フェルマーとオイラーの証明史 フェルマーは1640年のフレニクル・ド・ベシー宛の手紙で小定理を述べ、証明が長いため送らないと記したと伝えられています。小定理の最初の公刊された証明はオイラーによるもので、原論文は1736年に執筆され、1741年に公刊されました(Euler Archive の書誌と原論文)。フェルマーの最終定理についても、フェルマー自身は証明を残していません。この定理の証明は、1995年にワイルズによって公刊されました。
レベル2 — フェルマーの小定理とオイラーの定理
次のべき乗を、指定された法で計算せよ(フェルマーの小定理・オイラーの定理で指数を落とすこと)。
解法の型のとき1 (mod n)(n が素数 p なら a^(p−1)1)。指数をで割った余りに落とす
例 5.1. 4^54 を 11 で割った余りを求めよ。
答
注意 11 は素数で 11 は 4 を割り切らないから、フェルマーの小定理より 4^101 (mod 11)。5410×5 + 4 なので 4^54(4^10)^5 · 4^44^4 (mod 11)。4^4256 を 11 で割った余りは 3。指数がどれだけ大きくても、法より 1 小さい 10 で割った余りだけ見ればよい、というのが定理の使い方。
例 5.2. 5^355 を 23 で割った余りを求めよ。
答
注意 23 は素数で 23 は 5 を割り切らないから、フェルマーの小定理より 5^221 (mod 23)。35522×16 + 3 なので 5^355(5^22)^16 · 5^35^3 (mod 23)。5^3125 を 23 で割った余りは 10。指数がどれだけ大きくても、法より 1 小さい 22 で割った余りだけ見ればよい、というのが定理の使い方。
例 5.3. 3^130 を 7 で割った余りを求めよ。
答
注意 7 は素数で 7 は 3 を割り切らないから、フェルマーの小定理より 3^61 (mod 7)。1306×21 + 4 なので 3^130(3^6)^21 · 3^43^4 (mod 7)。3^481 を 7 で割った余りは 4。指数がどれだけ大きくても、法より 1 小さい 6 で割った余りだけ見ればよい、というのが定理の使い方。
例 5.4. 5^178 を 17 で割った余りを求めよ。
答
注意 17 は素数で 17 は 5 を割り切らないから、フェルマーの小定理より 5^161 (mod 17)。17816×11 + 2 なので 5^178(5^16)^11 · 5^25^2 (mod 17)。5^225 を 17 で割った余りは 8。指数がどれだけ大きくても、法より 1 小さい 16 で割った余りだけ見ればよい、というのが定理の使い方。
例 5.5. 4^110 を 7 で割った余りを求めよ。
答
注意 7 は素数で 7 は 4 を割り切らないから、フェルマーの小定理より 4^61 (mod 7)。1106×18 + 2 なので 4^110(4^6)^18 · 4^24^2 (mod 7)。4^216 を 7 で割った余りは 2。指数がどれだけ大きくても、法より 1 小さい 6 で割った余りだけ見ればよい、というのが定理の使い方。
例 5.6. 9^332 を 23 で割った余りを求めよ。
答
注意 23 は素数で 23 は 9 を割り切らないから、フェルマーの小定理より 9^221 (mod 23)。33222×15 + 2 なので 9^332(9^22)^15 · 9^29^2 (mod 23)。9^281 を 23 で割った余りは 12。指数がどれだけ大きくても、法より 1 小さい 22 で割った余りだけ見ればよい、というのが定理の使い方。
例 5.7. 8^196 を 17 で割った余りを求めよ。
答
注意 17 は素数で 17 は 8 を割り切らないから、フェルマーの小定理より 8^161 (mod 17)。19616×12 + 4 なので 8^196(8^16)^12 · 8^48^4 (mod 17)。8^44096 を 17 で割った余りは 16。指数がどれだけ大きくても、法より 1 小さい 16 で割った余りだけ見ればよい、というのが定理の使い方。
例 5.8. 5^137 を 21 で割った余りを求めよ。
答
注意 gcd(5, 21)1 で12 だから、オイラーの定理より 5^121 (mod 21)。13712×11 + 5 なので 5^137(5^12)^11 · 5^55^5 (mod 21)。5^53125 を 21 で割った余りは 17。指数がどれだけ大きくても、12 で割った余りだけ見ればよい、というのが定理の使い方。
例 5.9. 8^111 を 13 で割った余りを求めよ。
答
注意 13 は素数で 13 は 8 を割り切らないから、フェルマーの小定理より 8^121 (mod 13)。11112×9 + 3 なので 8^111(8^12)^9 · 8^38^3 (mod 13)。8^3512 を 13 で割った余りは 5。指数がどれだけ大きくても、法より 1 小さい 12 で割った余りだけ見ればよい、というのが定理の使い方。
例 5.10. 3^360 を 35 で割った余りを求めよ。
答
注意 gcd(3, 35)1 で24 だから、オイラーの定理より 3^241 (mod 35)。36024×15 はちょうど 24 の倍数なので 3^360(3^24)^151 (mod 35)。指数がどれだけ大きくても、24 で割った余りだけ見ればよい、というのが定理の使い方。
レベル2 — フェルマーの小定理とオイラーの定理
次のべき乗を、指定された法で計算せよ(フェルマーの小定理・オイラーの定理で指数を落とすこと)。
解法の型のとき1 (mod n)(n が素数 p なら a^(p−1)1)。指数をで割った余りに落とす
問題 6.1. 2^95 を 19 で割った余りを求めよ。
答
注意 19 は素数で 19 は 2 を割り切らないから、フェルマーの小定理より 2^181 (mod 19)。9518×5 + 5 なので 2^95(2^18)^5 · 2^52^5 (mod 19)。2^532 を 19 で割った余りは 13。指数がどれだけ大きくても、法より 1 小さい 18 で割った余りだけ見ればよい、というのが定理の使い方。▨
問題 6.2. 7^320 を 25 で割った余りを求めよ。
答
注意 gcd(7, 25)1 で20 だから、オイラーの定理より 7^201 (mod 25)。32020×16 はちょうど 20 の倍数なので 7^320(7^20)^161 (mod 25)。指数がどれだけ大きくても、20 で割った余りだけ見ればよい、というのが定理の使い方。▨
問題 6.3. 7^82 を 10 で割った余りを求めよ。
答
注意 gcd(7, 10)1 で4 だから、オイラーの定理より 7^41 (mod 10)。824×20 + 2 なので 7^82(7^4)^20 · 7^27^2 (mod 10)。7^249 を 10 で割った余りは 9。指数がどれだけ大きくても、4 で割った余りだけ見ればよい、というのが定理の使い方。▨
問題 6.4. 5^154 を 7 で割った余りを求めよ。
答
注意 7 は素数で 7 は 5 を割り切らないから、フェルマーの小定理より 5^61 (mod 7)。1546×25 + 4 なので 5^154(5^6)^25 · 5^45^4 (mod 7)。5^4625 を 7 で割った余りは 2。指数がどれだけ大きくても、法より 1 小さい 6 で割った余りだけ見ればよい、というのが定理の使い方。▨
問題 6.5. 5^118 を 7 で割った余りを求めよ。
答
注意 7 は素数で 7 は 5 を割り切らないから、フェルマーの小定理より 5^61 (mod 7)。1186×19 + 4 なので 5^118(5^6)^19 · 5^45^4 (mod 7)。5^4625 を 7 で割った余りは 2。指数がどれだけ大きくても、法より 1 小さい 6 で割った余りだけ見ればよい、というのが定理の使い方。▨
問題 6.6. 5^290 を 17 で割った余りを求めよ。
答
注意 17 は素数で 17 は 5 を割り切らないから、フェルマーの小定理より 5^161 (mod 17)。29016×18 + 2 なので 5^290(5^16)^18 · 5^25^2 (mod 17)。5^225 を 17 で割った余りは 8。指数がどれだけ大きくても、法より 1 小さい 16 で割った余りだけ見ればよい、というのが定理の使い方。▨
問題 6.7. 5^77 を 13 で割った余りを求めよ。
答
注意 13 は素数で 13 は 5 を割り切らないから、フェルマーの小定理より 5^121 (mod 13)。7712×6 + 5 なので 5^77(5^12)^6 · 5^55^5 (mod 13)。5^53125 を 13 で割った余りは 5。指数がどれだけ大きくても、法より 1 小さい 12 で割った余りだけ見ればよい、というのが定理の使い方。▨
問題 6.8. 7^84 を 15 で割った余りを求めよ。
答
注意 gcd(7, 15)1 で8 だから、オイラーの定理より 7^81 (mod 15)。848×10 + 4 なので 7^84(7^8)^10 · 7^47^4 (mod 15)。7^42401 を 15 で割った余りは 1。指数がどれだけ大きくても、8 で割った余りだけ見ればよい、というのが定理の使い方。▨
問題 6.9. 2^149 を 27 で割った余りを求めよ。
答
注意 gcd(2, 27)1 で18 だから、オイラーの定理より 2^181 (mod 27)。14918×8 + 5 なので 2^149(2^18)^8 · 2^52^5 (mod 27)。2^532 を 27 で割った余りは 5。指数がどれだけ大きくても、18 で割った余りだけ見ればよい、というのが定理の使い方。▨
問題 6.10. 2^219 を 19 で割った余りを求めよ。
答
注意 19 は素数で 19 は 2 を割り切らないから、フェルマーの小定理より 2^181 (mod 19)。21918×12 + 3 なので 2^219(2^18)^12 · 2^32^3 (mod 19)。2^38 を 19 で割った余りは 8。指数がどれだけ大きくても、法より 1 小さい 18 で割った余りだけ見ればよい、というのが定理の使い方。▨
問題 6.11. 8^87 を 21 で割った余りを求めよ。
答
注意 gcd(8, 21)1 で12 だから、オイラーの定理より 8^121 (mod 21)。8712×7 + 3 なので 8^87(8^12)^7 · 8^38^3 (mod 21)。8^3512 を 21 で割った余りは 8。指数がどれだけ大きくても、12 で割った余りだけ見ればよい、というのが定理の使い方。▨
問題 6.12. 5^279 を 21 で割った余りを求めよ。
答
注意 gcd(5, 21)1 で12 だから、オイラーの定理より 5^121 (mod 21)。27912×23 + 3 なので 5^279(5^12)^23 · 5^35^3 (mod 21)。5^3125 を 21 で割った余りは 20。指数がどれだけ大きくても、12 で割った余りだけ見ればよい、というのが定理の使い方。▨
問題 6.13. 5^274 を 17 で割った余りを求めよ。
答
注意 17 は素数で 17 は 5 を割り切らないから、フェルマーの小定理より 5^161 (mod 17)。27416×17 + 2 なので 5^274(5^16)^17 · 5^25^2 (mod 17)。5^225 を 17 で割った余りは 8。指数がどれだけ大きくても、法より 1 小さい 16 で割った余りだけ見ればよい、というのが定理の使い方。▨
問題 6.14. 2^75 を 11 で割った余りを求めよ。
答
注意 11 は素数で 11 は 2 を割り切らないから、フェルマーの小定理より 2^101 (mod 11)。7510×7 + 5 なので 2^75(2^10)^7 · 2^52^5 (mod 11)。2^532 を 11 で割った余りは 10。指数がどれだけ大きくても、法より 1 小さい 10 で割った余りだけ見ればよい、というのが定理の使い方。▨
問題 6.15. 4^194 を 13 で割った余りを求めよ。
答
注意 13 は素数で 13 は 4 を割り切らないから、フェルマーの小定理より 4^121 (mod 13)。19412×16 + 2 なので 4^194(4^12)^16 · 4^24^2 (mod 13)。4^216 を 13 で割った余りは 3。指数がどれだけ大きくても、法より 1 小さい 12 で割った余りだけ見ればよい、というのが定理の使い方。▨