拡張Eulerの定理(互いに素ではない場合) ARC113-B A^B^C
ARC113のB問題は としたとき の列が4(の約数)の周期で循環すること、 の列が2(の約数)の周期で循環することを利用する問題でした。これらについては実際に実験して求めた人やFermatの小定理やEulerの定理によって説明しようとした人などがいました。しかしこれらの説明は とした時、 が素数である(Fermat)か、 である(Euler)ときについてしか説明することができません。ここでは互いに素ではない場合に拡張できるのではないかということで、それについて書いていきたいと思います。
前提知識
記法
とは と の最大公約数(Greatest Common Divisor)です。 のとき、 と は互いに素と言います。
とは2整数 を で割った時の余りが等しいことを意味します。 や が整数でない場合にも拡張することができたりしますが、ここでは触れません。
は総乗記号で の掛け算バージョンです。 がS(和: sumの頭文字)に対応するギリシア文字σの大文字Σに由来するのに対し、 はP(積: productの頭文字)に対応するギリシア文字πの大文字Πに由来します。
中国剰余定理
中国剰余定理*1とは、 個の整数 がどの2数を選んできても互いに素であるとき 元の連立合同方程式 $$ x \equiv a_i \pmod{n_i} $$ を満たすような整数 が を法として唯1つ存在するという定理です。 同士が互いに素でなくともいいように拡張できますが、今回は互いに素である場合に限っても大丈夫です。詳しくはこちらを参照してください。
これから、全ての で となるとき、 となることが分かります。
Fermatの小定理、Eulerの定理、Carmichaelの定理
Fermat*2の小定理はを素数とし、をの倍数でない整数としたとき $$ a^{p-1} \equiv 1 \pmod{p} $$ が成り立つというものです。
Euler*3の定理とCarmichael*4の定理はある函数 が存在し、 である2整数 について $$ a^{f(n)} \equiv 1 \pmod{n} $$ が成り立つというもので、Eulerの定理では はEulerのトーシェント函数 、Carmichaelの定理ではCarmichael函数 と呼ばれるものとなっています。
Eulerのトーシェント函数 は 以上 以下の整数のうち と互いに素であるような数の個数を与える函数で、 が素数であるとき となるため、Eulerの定理はFermatの小定理を素数に限らない場合に拡張したものとなっていると言えます。また、Carmichael函数 が返す値は の約数となっています。
また、トーシェント函数は互いに素な2数 について となることが知られています。
これらの定理についての証明や詳しい説明はこちらをどうぞ。
題名を拡張Eulerの定理としているため、 として書きますが、それを に書き換えればCarmichaelの定理についても同じように拡張することができます*5。
では、 の周期性についてみていきましょう。ここで整数 を用いて と表すことができ、 $$ (nk + m_1)^i = \sum_{j=0}^{i} {}_i \mathrm{C}_j\ (nk)^{i-j} {m_1}^j = (\text{\(n\) の 1 乗以上の項}) + {m_1}^i $$ であり、全ての項の係数は整数であるため、 の場合のみ考えるだけで十分であることが分かります。
$n$が素数の場合
のとき、Fermatの定理より であることから であることが分かり、 の周期が であることが分かります。これはどの についても成立します。しかし、全ての について周期の最小値が であるとは限りませんが、 より小さな周期を持っていた場合、その周期は の約数となっています。
の時は常に となるため、周期は であり、 の約数です。
例として としてみます。このとき剰余は $$\begin{align}
&0: 0 \rightarrow 0 \rightarrow \cdots
\\&1: 1 \rightarrow 1 \rightarrow \cdots
\\&2: 2 \rightarrow 4 \rightarrow 3 \rightarrow 1 \rightarrow 2 \rightarrow \cdots
\\&3: 3 \rightarrow 4 \rightarrow 2 \rightarrow 1 \rightarrow 3 \rightarrow \cdots
\\&4: 4 \rightarrow 1 \rightarrow 4 \rightarrow \cdots
\end{align}$$ となり、 のとき周期 、 のとき周期 、 のとき周期 となっています。いずれも の約数ですね。
$n$のどの素因数の指数も1以下の場合
を 番目の素数とし、 を有限個の正整数を要素とする集合として、 と素因数分解できる場合です。 とします。ここで です。
このとき、 となり、各 について であり、 とします。 としてEulerの定理より 、 となるため、 $$ a^{\varphi(n)} \equiv \left\{
\begin{array}{ll}
0 & (e_i \geq 1)\\
1 & (e_i = 0)
\end{array}
\right. $$ となり、$$ a^{k + \varphi(n)} \equiv \left\{
\begin{array}{ll}
0 & (e_i \geq 1)\\
a^k & (e_i = 0)
\end{array}
\right. $$ となりますが、 のときはそもそも であるため、こちらでも となることが分かります。
さて、ここまでの議論は 内の全ての について成り立つため中国剰余定理より であることが分かり、 であるかどうかにかかわらず、その周期が であることが分かります。ARC113-Bでは で、この時の剰余系は $$\begin{align}
&0: 0 \rightarrow 0 \rightarrow \cdots
\\&1: 1 \rightarrow 1 \rightarrow \cdots
\\&2: 2 \rightarrow 4 \rightarrow 8 \rightarrow 6 \rightarrow 2 \rightarrow \cdots
\\&3: 3 \rightarrow 9 \rightarrow 7 \rightarrow 1 \rightarrow 3 \rightarrow \cdots
\\&4: 4 \rightarrow 6 \rightarrow 4 \rightarrow \cdots
\\&5: 5 \rightarrow 5 \rightarrow \cdots
\\&6: 6 \rightarrow 6 \rightarrow \cdots
\\&7: 7 \rightarrow 9 \rightarrow 3 \rightarrow 1 \rightarrow 7 \rightarrow \cdots
\\&8: 8 \rightarrow 4 \rightarrow 2 \rightarrow 6 \rightarrow 8 \rightarrow \cdots
\\&9: 9 \rightarrow 1 \rightarrow 9 \rightarrow \cdots
\end{align}$$ となり、周期は ですがこれは であるためです。
一般の場合
と素因数できるとします。 については上の場合と同様 とします。
各 について のとき となります。 であるため、 であるとき とすると となります。よって のときに上の場合と同様の議論で全ての について が成り立ちます。よって、中国剰余定理より であることが分かり、 であるかどうかにかかわらず、その周期が であることが分かります。上の場合と違うのはループに入る前の部分があることがある、というところです。例えば とすると、その剰余は $$\begin{align}
14 \rightarrow 4 \rightarrow 8 \rightarrow 16 \rightarrow 8 \rightarrow \cdots
\end{align}$$ となり、 という周期 の循環となっていますが、そのループに入る前に という部分が出てきています。これは素因数 の指数が と同じ になるまではループに入らないことに起因します。
ARC113-Bでの で周期 となったのは であるからです。
結論
一般の場合についての説明がすこしグダグダしてしまいましたが、Eulerの定理の拡張として となる は、 と が互いに素であるかどうかにかかわらず周期 で循環することが分かりました。但し、 に指数が2以上であるような素因数を持つ場合は によっては最初の1乗, 2乗,... あたりはループに入らないこともあります。しかし、十分に指数を大きくすると周期 で循環します。