Eulerの定理(整数論)(Euler's theorem)とは、正の整数 $n$ と、$n$ と互いに素な整数 $a$ について $a^{\varphi(n)}\equiv1\pmod n$ が成り立つという合同式の定理である。$\varphi(n)$ は $1$ 以上 $n$ 以下で $n$ と互いに素な整数の個数(Eulerのφ関数)で、$\varphi(10)=4$ なので $3^4=81\equiv1\pmod{10}$ となる。$n$ が素数 $p$ のときは Fermat の小定理 $a^{p-1}\equiv1\pmod p$ であり、Euler はこれを一般の法に広げた。$a$ と $n$ が互いに素でなければ成り立たない($2^2\equiv0\pmod4$)。大きな冪の余りの計算や RSA暗号に使われる。多面体に関する Euler の公式とは別の定理である。
前提知識: 合同式, 互いに素, Eulerのφ関数, Fermatの小定理
本記事の Euler の定理は、整数の冪を割った余りについての初等整数論の定理である。多面体の頂点・辺・面の個数の関係(Eulerの公式(平面グラフ)、Euler標数)など、Euler の名を冠する他の定理とは別のものである。
$3$ の冪 $3,9,27,81,243,729,\dots$ の一の位は $3,9,7,1,3,9,\dots$ と $4$ 個ごとにくり返し、$3^4=81$ で $1$ に戻る。$7$ の冪の一の位も $7,9,3,1,\dots$ と $4$ 乗で $1$ に戻り、$9$ の冪は $9,1,\dots$ と $2$ 乗で $1$ に戻る。一の位は $10$ で割った余りなので、これは $10$ を法とする合同式の現象である。$1$ から $10$ までで $10$ と互いに素な数は $1,3,7,9$ の $4$ 個であり、Euler の定理は、この個数 $4$ を指数にとって $4$ 乗すれば、$10$ と互いに素などの数も $10$ を法として $1$ に戻ることを保証する。
一般に、正の整数 $n$ と、$n$ と互いに素な整数 $a$ について
$$
a^{\varphi(n)}\equiv1\pmod n
$$
が成り立つ。ここで $\varphi(n)$ は $1$ 以上 $n$ 以下で $n$ と互いに素な整数の個数(Eulerのφ関数)である。$n$ が素数 $p$ のときは $\varphi(p)=p-1$ であり、Fermatの小定理 $a^{p-1}\equiv1\pmod p$ に一致する。Euler の定理は、Fermat の小定理を合成数の法にまで広げたものである。
この定理を使うと、巨大な冪の余りが簡単に分かる。たとえば $7^{2026}$ の一の位は、$7^4\equiv1\pmod{10}$ と $2026=4\cdot506+2$ から $7^{2026}\equiv7^2=49\equiv9\pmod{10}$ で $9$ である。
$n$ を正の整数とする。$\varphi(n)$ 個の整数 $r_1,\dots,r_{\varphi(n)}$ が、どれも $n$ と互いに素で、どの 2 つも $n$ を法として合同でないとき、これを法 $n$ の既約剰余系(reduced residue system)という。
$1\le k\le n$ で $\gcd(k,n)=1$ となる $k$ 全体は、$\varphi(n)$ の定義により既約剰余系である。たとえば法 $10$ では $1,3,7,9$ が既約剰余系であり、$11,-7,-3,19$ も既約剰余系である。
定理は次節で述べ、2 通りに証明する。1 つ目は既約剰余系を並べ替える証明、2 つ目は Fermat の小定理から素数冪へ持ち上げる証明で、それぞれ次の補題を使う。
$n$ を正の整数、$a$ を $\gcd(a,n)=1$ を満たす整数とし、$r_1,\dots,r_{\varphi(n)}$ を法 $n$ の既約剰余系とする。このとき $ar_1,\dots,ar_{\varphi(n)}$ も法 $n$ の既約剰余系である。
各 $ar_i$ は $n$ と互いに素である。$a$ も $r_i$ も $n$ と互いに素なので、互いに素 の記事の命題「互いに素な因子の消去」の 2 により $\gcd(ar_i,n)=1$ である。
次に $ar_i\equiv ar_j\pmod n$ とすると $n\mid a(r_i-r_j)$ であり、$\gcd(a,n)=1$ なので同じ命題の 1 により $n\mid r_i-r_j$、すなわち $r_i\equiv r_j\pmod n$ である。既約剰余系の定義から $i=j$ である。よって $ar_1,\dots,ar_{\varphi(n)}$ は $n$ と互いに素な $\varphi(n)$ 個の整数で、どの 2 つも合同でなく、既約剰余系である。$\square$
$p$ を素数、$e\ge1$ とし、$b$ を $b\equiv1\pmod{p^e}$ を満たす整数とする。このとき $b^p\equiv1\pmod{p^{e+1}}$ である。
$b=1+p^et$($t\in\mathbb{Z}$)と書く。二項定理により
$$
b^p=1+\binom p1p^et+\sum_{k=2}^{p}\binom pk p^{ek}t^k=1+p^{e+1}t+\sum_{k=2}^{p}\binom pk p^{ek}t^k
$$
である。$k\ge2$ なら $ek\ge2e\ge e+1$ なので、和の各項は $p^{e+1}$ で割り切れる。よって $b^p\equiv1\pmod{p^{e+1}}$ である。$\square$
$n$ を正の整数、$a$ を $\gcd(a,n)=1$ を満たす整数とする。このとき
$$
a^{\varphi(n)}\equiv1\pmod n
$$
である。
$r_1,\dots,r_{\varphi(n)}$ を法 $n$ の既約剰余系とする。$n$ と互いに素な整数はどれも、$r_1,\dots,r_{\varphi(n)}$ のちょうど 1 つと合同である(互いに素かどうかは法 $n$ の剰余類だけで決まり、$n$ と互いに素な剰余類は $\varphi(n)$ 個しかないので、合同でない $\varphi(n)$ 個の代表はそれらを 1 つずつ代表する)。lem-euler-theorem-permutation により、$ar_1,\dots,ar_{\varphi(n)}$ も既約剰余系なので、各 $ar_i$ はちょうど 1 つの $r_j$ と合同であり、$i\mapsto j$ は $\{1,\dots,\varphi(n)\}$ の並べ替えである。合同式は積と両立する(合同式 の記事の命題「合同式の和・差・積・冪」)ので、積をとって
$$
a^{\varphi(n)}\,r_1r_2\cdots r_{\varphi(n)}=(ar_1)(ar_2)\cdots(ar_{\varphi(n)})\equiv r_1r_2\cdots r_{\varphi(n)}\pmod n
$$
である。$P:=r_1\cdots r_{\varphi(n)}$ は $n$ と互いに素な数の積なので $n$ と互いに素である(「互いに素な因子の消去」の 2 を繰り返す)。$n\mid(a^{\varphi(n)}-1)P$ と $\gcd(P,n)=1$ から、同じ命題の 1 により $n\mid a^{\varphi(n)}-1$ である。$\square$
$n=1$ は自明なので $n\ge2$ とし、$n=p_1^{e_1}\cdots p_r^{e_r}$ を素因数分解とする($p_i$ は相異なる素数、$e_i\ge1$)。$\gcd(a,n)=1$ なので、どの $p_i$ も $a$ を割り切らない。
まず素数 $p\nmid a$ と $e\ge1$ について $a^{\varphi(p^e)}\equiv1\pmod{p^e}$ を、$e$ に関する帰納法で示す。Eulerのφ関数 の記事の例「素数と素数冪」により $\varphi(p^e)=p^{e-1}(p-1)$ である。$e=1$ では $\varphi(p)=p-1$ で、Fermatの小定理 そのものである。$a^{p^{e-1}(p-1)}\equiv1\pmod{p^e}$ と仮定すると、lem-euler-theorem-prime-power を $b=a^{p^{e-1}(p-1)}$ に使って $a^{p^e(p-1)}=b^p\equiv1\pmod{p^{e+1}}$ となる。
次に、Eulerのφ関数 の記事の定理「Eulerのφ関数の乗法性」により $\varphi(n)=\varphi(p_1^{e_1})\cdots\varphi(p_r^{e_r})$ なので、各 $i$ について $\varphi(n)$ は $\varphi(p_i^{e_i})$ の倍数である。$\varphi(n)=\varphi(p_i^{e_i})c_i$ と書けば
$$
a^{\varphi(n)}=\bigl(a^{\varphi(p_i^{e_i})}\bigr)^{c_i}\equiv1\pmod{p_i^{e_i}}
$$
である。$p_1^{e_1},\dots,p_r^{e_r}$ はどの 2 つも互いに素で、$a^{\varphi(n)}-1$ はそのすべてで割り切れるので、その積 $n$ で割り切れる(合同式 の記事の命題「法を変える」の 2 を $r-1$ 回使う)。$\square$
この証明からは、指数 $\varphi(n)$ の代わりに $\varphi(p_1^{e_1}),\dots,\varphi(p_r^{e_r})$ の最小公倍数 $L$ を使っても $a^L\equiv1\pmod n$ となることが分かる(最後の段落で $c_i=L/\varphi(p_i^{e_i})$ とすればよい)。$L$ は $\varphi(n)$ より小さいことがあり、たとえば $n=15$ では $L=\operatorname{lcm}(2,4)=4<8=\varphi(15)$ である(ex-euler-theorem-not-minimal)。
1 つ目の証明を $n=10$、$a=3$ で追うと、既約剰余系 $1,3,7,9$ に $3$ を掛けた $3,9,21,27$ の余りは $3,9,1,7$ で、確かに $1,3,7,9$ の並べ替えである。積を比べると $3^4\cdot(1\cdot3\cdot7\cdot9)\equiv1\cdot3\cdot7\cdot9\pmod{10}$ で、$1\cdot3\cdot7\cdot9=189$ は $10$ と互いに素なので $3^4\equiv1\pmod{10}$ を得る。この証明は Ste17 の PDF 版 Theorem 2.1.20(pp. 26–27)、Mos11 Chapter 5(pp. 43–44。頁は 2011-07-31 版 PDF による)にも同じ形で載っている。
$n=1$ では法 $1$ ですべての整数が合同なので主張は自明である。仮定 $\gcd(a,n)=1$ は外せない(ex-euler-theorem-not-coprime)。この定理は Euler が Petersburg アカデミーの紀要(1760–61 年の巻)に発表したもので(Dic19 Chapter III、原本 p. 61)、Fermat が 1640 年の書簡で述べた Fermat の小定理(Dic19 Chapter III、原本 p. 59)の一般化である。Euler–Fermat の定理とも呼ばれる。
剰余環 $\mathbb{Z}/n\mathbb{Z}$ の単元全体は乗法について位数 $\varphi(n)$ の有限アーベル群 $(\mathbb{Z}/n\mathbb{Z})^\times$ をなす(Eulerのφ関数 の記事の命題「既約な剰余類の個数」)。有限群の元 $g$ は $g^{|G|}=e$ を満たす(Lagrangeの定理 の記事の系「元の位数」)ので、$\bar a^{\varphi(n)}=\bar1$、すなわち Euler の定理が従う(Lagrangeの定理 の記事の例「Eulerの定理への適用」)。prf-euler-theorem は、この議論をアーベル群の場合に群の言葉を使わずに行ったものと読める。
$p$ を素数、$a$ を $p$ で割り切れない整数とすると $a^{p-1}\equiv1\pmod p$ である。
$p$ は素数なので、$p$ の約数は $\pm1,\pm p$ だけであり、$p\nmid a$ から $\gcd(a,p)=1$ である。また $1,\dots,p-1$ はすべて $p$ と互いに素で $p$ は互いに素でないので $\varphi(p)=p-1$ である。thm-euler-theorem を $n=p$ に使えばよい。$\square$
これは Fermatの小定理 である。ただし prf-euler-theorem-lifting は Fermat の小定理を使っているので、Fermat の小定理を導くには prf-euler-theorem の方を使う。
$n$ を正の整数、$a$ を $\gcd(a,n)=1$ を満たす整数とする。$a^m\equiv1\pmod n$ となる最小の正の整数 $m$ を、$a$ の法 $n$ での位数(order)といい $\operatorname{ord}_n(a)$ と書く。
thm-euler-theorem により $a^{\varphi(n)}\equiv1\pmod n$ なので、このような $m$ は存在し、$\operatorname{ord}_n(a)\le\varphi(n)$ である。$\operatorname{ord}_n(a)$ は群 $(\mathbb{Z}/n\mathbb{Z})^\times$ における $\bar a$ の元の位数にほかならない。
$n$ を正の整数、$a$ を $\gcd(a,n)=1$ を満たす整数とし、$d:=\operatorname{ord}_n(a)$ とおく。整数 $m\ge0$ について、$a^m\equiv1\pmod n$ であることと $d\mid m$ であることは同値である。特に $d\mid\varphi(n)$ である。
$d\mid m$ なら $m=dk$ で、$a^m=(a^d)^k\equiv1^k=1$ である。逆に $a^m\equiv1$ とし、除法の原理で $m=dk+s$($0\le s< d$)と書くと
$$
1\equiv a^m=(a^d)^k\,a^s\equiv a^s\pmod n
$$
である。$0< s< d$ なら $d$ の最小性に反するので $s=0$、すなわち $d\mid m$ である。thm-euler-theorem により $a^{\varphi(n)}\equiv1$ なので $d\mid\varphi(n)$ である。$\square$
たとえば法 $10$ では $\operatorname{ord}_{10}(3)=\operatorname{ord}_{10}(7)=4$、$\operatorname{ord}_{10}(9)=2$、$\operatorname{ord}_{10}(1)=1$ で、どれも $\varphi(10)=4$ の約数である。位数がちょうど $\varphi(n)$ に等しい $a$ を法 $n$ の原始根という。
$\gcd(a,n)=1$ で、整数 $k,k'\ge0$ が $k\equiv k'\pmod{\varphi(n)}$ を満たすならば、$a^k\equiv a^{k'}\pmod n$ である。
$k\ge k'$ としてよい。$k=k'+\varphi(n)t$($t\ge0$)と書けて、$a^k=a^{k'}\bigl(a^{\varphi(n)}\bigr)^t\equiv a^{k'}\pmod n$ である。$\square$
$3^{2026}$ の下 2 桁を求める。$100=2^2\cdot5^2$ なので $\varphi(100)=2\cdot20=40$ であり、$\gcd(3,100)=1$ である。$2026=40\cdot50+26$ なので、cor-euler-theorem-exponent により $3^{2026}\equiv3^{26}\pmod{100}$ である。$3^5=243\equiv43$、$3^{10}\equiv43^2=1849\equiv49$、$3^{20}\equiv49^2=2401\equiv1\pmod{100}$ なので、$3^{26}=3^{20}\cdot3^5\cdot3\equiv43\cdot3=129\equiv29\pmod{100}$ となり、下 2 桁は $29$ である。
途中で $3^{20}\equiv1\pmod{100}$ が現れたとおり、$\operatorname{ord}_{100}(3)=20$ であり、これは $\varphi(100)=40$ の真の約数である(prop-euler-theorem-order)。
$\gcd(a,n)=1$ なら $a\cdot a^{\varphi(n)-1}=a^{\varphi(n)}\equiv1\pmod n$ なので、$a^{\varphi(n)-1}$ は $a$ の法 $n$ での逆元である。たとえば法 $10$ で $3^{3}=27\equiv7$ であり、実際 $3\cdot7=21\equiv1\pmod{10}$ である。
$n=4$、$a=2$ では $\varphi(4)=2$ だが $2^2=4\equiv0\not\equiv1\pmod4$ である。一般に $\gcd(a,n)=d>1$ なら、$a^k\equiv1\pmod n$($k\ge1$)となる $k$ は存在しない。$a^k-1=nt$ なら $1=a\cdot a^{k-1}-nt$ は $d$ で割り切れてしまうからである。この例は仮定 $\gcd(a,n)=1$ を破り、含意「任意の整数 $a$ について $a^{\varphi(n)}\equiv1\pmod n$」を破る。同じ例で cor-euler-theorem-exponent も破れる。$1\equiv3\pmod{\varphi(4)}$ だが $2^1=2$ と $2^3=8\equiv0$ は法 $4$ で合同でない。
法 $8$ では $\varphi(8)=4$ だが、$8$ と互いに素な $1,3,5,7$ の平方はすべて $1\pmod8$ であり、指数 $2$ ですでに $1$ に戻る。法 $15$ では $\varphi(15)=8$ だが、$15$ と互いに素な $1,2,4,7,8,11,13,14$ の $4$ 乗はすべて $1\pmod{15}$ である(prf-euler-theorem-lifting の後の注意)。これらの例は、「$n$ と互いに素なすべての $a$ について $a^m\equiv1\pmod n$ となる最小の正の整数 $m$ は $\varphi(n)$ である」という含意を破る。そのような最小の $m$ は Carmichael関数 $\lambda(n)$ と呼ばれ、$\lambda(8)=2$、$\lambda(15)=4$ である。
$n$ が素数なら $\varphi(n)=n-1$ なので、Euler の定理の結論は $a^{n-1}\equiv1\pmod n$ となる。その逆「$\gcd(a,n)=1$ かつ $a^{n-1}\equiv1\pmod n$ なら $n$ は素数」は成り立たない。$341=11\cdot31$ は合成数だが $2^{10}=1024=3\cdot341+1$ から $2^{340}\equiv1\pmod{341}$ である。さらに $561=3\cdot11\cdot17$ は、$561$ と互いに素なすべての $a$ について $a^{560}\equiv1\pmod{561}$ を満たす合成数(Carmichael数)である(Fermatの小定理 の記事の例「反例:逆は成り立たない」「最小のCarmichael数」)。
RSA暗号では、相異なる素数 $p,q$ の積 $n=pq$ と、$\varphi(n)=(p-1)(q-1)$ を法として $ed\equiv1$ となる正の整数 $e,d$ を用意し、$(n,e)$ を公開して $d$ を秘密にする。$0\le m< n$ の平文 $m$ を $c\equiv m^e\pmod n$ と暗号化し、$c^d$ の法 $n$ の余りで復号する。$\gcd(m,n)=1$ なら、$ed=1+\varphi(n)t$($t\ge0$)と書けて
$$
c^d\equiv m^{ed}=m\bigl(m^{\varphi(n)}\bigr)^t\equiv m\pmod n
$$
となり、Euler の定理によって元の $m$ が戻る(Ste17 の PDF 版 §3.3、p. 56)。$\gcd(m,n)\neq1$ の $m$ についても $m^{ed}\equiv m\pmod n$ が成り立つことは、各素因数ごとに Fermat の小定理を使って示せる(Fermatの小定理 の記事の注意「Fermatテストと確率的素数判定」)。
小さな例として $p=3$、$q=11$、$n=33$、$\varphi(33)=20$、$e=3$、$d=7$($3\cdot7=21\equiv1\pmod{20}$)をとる。$m=4$ は $4^3=64\equiv31\pmod{33}$ と暗号化され、$31^7\equiv4\pmod{33}$ と復号される。
Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する