費馬小定理與歐拉定理:
費馬小定理:當 $ m $ 為質數且 $ a $ 不為 $ m $ 的倍數時有 $ a^{m-1}≡1\mod(m) $
根據費馬小定理可知: $ a^{m-2} $ 就是a在模m意義下的逆元.
歐拉定理:當 $ a $ , $ m $ 互質時, $ a^{\phi(m)}\equiv 1\mod (m) $ (這個式子也可以求逆元)
其實根據歐拉函數,我們可以看出費馬小定理就是歐拉定理的特殊情況,因為若 $ m $ 為質數: $ \phi(m)=m-1 $
歐拉定理的證明:
$ a^{\phi(m)}\equiv 1\mod (m) $
分析這個定義式的左邊,我們可以將所有與m互質的數都列舉出來:
這里我們寫成: $ x_1,x_2,x_3...x_{\phi(n)} $ 這個形式
因為我們要得到 $ a^{\phi(m)} $ 是多少,所以我們將這 $ \phi(m) $ 個與m互質的數都乘上 $ a $
這里我們寫成: $ p_1=ax_1,\quad p_2=ax_2......p_{\phi(m)}=ax_{\phi(m)} $ 這個形式
引理1:對於上述兩種形式,任意兩個 $ x_i $ 之間模 $ m $ 不同余,任意兩個 $ p_i $ 之間模 $ m $ 不同余
任意兩個 $ x_i $ 之間模 $ m $ 不同余,這個很顯然,因為 $ x_i $ 都小於m且互不相同
任意兩個 $ p_i $ 之間模 $ m $ 不同余,這個可以用反證法:
$ i\ne j $ 且 $ p_i\equiv p_j\mod (m) $ 即 $ p_i-p_j\equiv 0\mod (m) $
上式可以寫作: $ a(x_i-x_j)\equiv 0\mod(m) $ 即 $ a(x_i-x_j)=km $
可是我們的a與m互質,而 $ (x_i-x_j) $ 也必然不會是m的倍數(xi與xj不相等且都小於m)
所以等式右邊不是m的倍數,等式不成立,反證法證畢!
引理2:任意 $ p_i $ 在模m后都與m互質 (這個我們同樣用反證法)
$ ax_i\equiv r\mod(m) $ 且 $ gcd(r,m)>1 $ => 則存在: $ ax_i=r+km $
但我們的a和xi均與m互質,所以等式左邊不為r的倍數,不可能等於右邊,反證畢!
推出結果:根據上述兩個引理,我們可以得出下面這個等式:
$ a^{\phi(n)}\equiv 1\mod(m) $
$ p_1~\times~p_2~\times~p_3...~\times~p_{\phi (n)}\equiv x_1~\times~x_2~\times~x_3...~\times~x_{\phi(n)}\mod(m) $
$ ax_1\times ax_2\times ax_3...\times ax_{\phi(n)}\equiv x_1\times x_2\times x_3...\times x_{\phi(n)}\mod(m) $
$ a^{\phi(n)}x_1\times x_2\times x_3...\times x_{\phi(n)}\equiv x_1\times x_2\times x_3...\times x_{\phi(n)}\mod(m) $
應用:根據歐拉定理,我們可以快速求出某一個數的最小的逆元
歐拉定理的推論:
歐拉定理的推論:若正整數 $ a $ , $ m $ 互質,則對於任意正整數 $ b $ ,有 $ a^b ≡ a^{b\modφ(n)} \mod (m) $ 。
這個是及其好證明的:因為 $ a^b $ 可以表示成 $ a^{k\times \phi(n)+(b\modφ(n))}=a^{k\times \phi(n)}\times a^{(b\modφ(n))} $
而我們已經證明了: $ a^{\phi(n)}\equiv 1\mod(m) $ 所以原式就等於 $ a^{b\modφ(n)} $
應用:根據這個定理,我們在解題時適當對指數進行取模
歐拉定理的擴展:
我們知道歐拉定理推論它有一個前提條件:當 $ a $ , $ m $ 互質時, $ a^{\phi(m)}\equiv 1\mod (m) $
但是歐拉定理其實在 $ a $ , $ m $ 不互質時,也有辦法對指數進行取模,簡化運算
歐拉定理的擴展: $ a^b≡ a^{b\mod\phi(m)+\phi(m)}\mod (m)\quad b≥q(m) $
證明:
因為a和m不互質,那我們假設p為a和m的任意一個質因子
那我們的問題就轉換成了證明: $ p^b≡ p^{b\mod\phi(m)+\phi(m)}\mod (m) $
因為除去這些質因子,一個與m互質的數一定滿足這個擴展式,所以只要我們能證明這些質因子也能滿足擴展式,那么根據同余的乘法性質,我們就能乘得上述擴展式了!
為了方便證明,我們設 $ r $ 表示 $ m $ 中有多少個質因子 $ p $ ,再設 $ s=m/p^r $ ,顯然 $ gcd(s,p)=1 $
因為我們的歐拉函數是積性函數,而且 $ s|m $ ,所以 $ \phi(s)=\phi(m) $
又因為 $ p^{\phi(s)}\equiv 1\mod (s) $ ,所以 $ p^{\phi(m)}\equiv 1\mod (s) $
根據同余的性質,如果我們兩邊同乘 $ p^r $ ,模數也可以乘上 $ p^r $ ,可得: $ p^{\phi(m)+r}\equiv p^r\mod (m) $ ( $ m=s\times p^r $ )
仔細一觀察同余號兩邊,這不就是一個循化節嗎,這不就是一個遞推式嗎?
我們將它轉換一下: $ p^b≡p^{b-r+r}≡p^{b-r+\phi(m)+r}≡p^{b+\phi(m)}\mod (m) $
注意,我們整個過程中的b就是一個任意數,只是要滿足 $ b\geq\phi(m) $ 而已
所以,我們反向遞推這個式子: $ p^{(b-\phi(m))}≡p^{(b-\phi(m))+\phi(m)}≡p^b\mod (m) $
我們經過不斷反向遞推,必然可以得到: $ p^{b\mod\phi(m)+\phi(m)}≡p^b\mod (m) $
所以擴展歐拉定理,卒........
