logo

カーマイケル数 📂整数論

カーマイケル数

定義 1

整数 nn が全ての 1an1 \le a \le n に対して ana(modn)a^{n} \equiv a \pmod{n} を満たす場合、カーマイケル数と呼ばれる。

定理

全てのカーマイケル数は22 を除く異なる素数の積で表される。

説明

カーマイケル数は合成数でありながらフェルマーの小定理を通過する、つまり素数のように見える数だ。例えば、561=31117561=3 \cdot 11 \cdot 17 は合成数だがa561a(mod561)a^{561} \equiv a \pmod{561} は常に成り立つ。

これらのカーマイケル数を捕まえるためにミラー-ラビン素数判定法がある。

証明

nn をカーマイケル数とする。

パート1。 a=n1a = n-1 とすると n11(modn)n-1 \equiv -1 \pmod{n} であるため (n1)n(1)n1(modn) (n-1)^{n} \equiv (-1)^{n} \equiv -1 \pmod{n} 上記の合同式が成り立つのはnn が奇数のときだけである。

パート2。 nn22 を除く素数 p1,,pmp_{1}, \cdots , p_{m} に対してn=p1r1+1pmrm+1n = p_{1}^{r_{1} + 1} \cdots p_{m}^{r_{m} + 1} と表されるとする。ここで r:=max{r1,,rm}\displaystyle r : = \max \left\{ r_{1}, \cdots , r_{m} \right\} と置きr=0r=0 であることを示せば証明は完了である。このrr に対応する素数をpp とする。

nn はカーマイケル数であるのでprnpr(modn)p^{rn} \equiv p^{r} \pmod{n} が成り立ち、nn(prnpr)\left( p^{rn} - p^{r} \right) を割る必要がある。また、nn約数の中にはpr+1p^{r+1} もあるため、pr+1p^{r+1}(prnpr)\left( p^{rn} - p^{r} \right) を割る必要がある。つまり prnprpr+1=prnr1p {{ p^{rn} - p^{r} } \over { p^{r+1} }} = {{ p^{rn - r} - 1 } \over { p }} これは整数であることを意味し、これが可能なのは分子が00 となるr=0r=0 のみである。


  1. Silverman. (2012). A Friendly Introduction to Number Theory (4th Edition): p133. ↩︎