什么是欧拉定理
数论上的欧拉定理,指的是
a x ≡ 1 ( m o d n ) a^x \equiv 1 (mod\ n) ax≡1(mod n)
这个式子实在a和n互质的前提下成立的。
欧拉定理的证明
首先,我们知道在1到n的数中,与n互质的一共有 φ ( n ) φ(n) φ(n)个,所以我们把这 φ ( n ) φ(n) φ(n)个数拿出来,放到设出的集合X中,即为 x 1 , x 2 … … x φ ( n ) x_1,x_2……x_{φ(n)} x1,x2……xφ(n)。
那么接下来,我们可以再设出一个集合为 M M M,设 M M M中的数为:
m 1 = a ∗ x 1 m 2 = a ∗ x 2 … … m φ ( n ) = a ∗ x φ ( n ) m1=a*x1 \\m2=a*x2 \\…… \\mφ(n)=a*xφ(n) m1=a∗x1m2=a∗x2……mφ(n)=a∗xφ(n)
下面我们证明两个推理:
一、M中任意两个数都不模n同余。
反证法。
证明:假设 M M M中存在两个数设为 m a , m b m_a,m_b ma,mb模 n n n同余。
即 m a ≡ m b m_a \equiv m_b ma≡mb
移项得到:
m
a
−
m
b
=
n
∗
k
m_a-m_b=n*k
ma−mb=n∗k
再将
m
m
m用
x
x
x来表示得到:
a
∗
x
a
−
a
∗
x
b
=
n
∗
k
a∗x_a−a∗x_b=n∗k
a∗xa−a∗xb=n∗k
提取公因式得到 a ∗ ( x a − x b ) = n ∗ k a∗(x_a−x_b)=n∗k a∗(xa−xb)=n∗k
我们现在已知a与n互质,那么式子就可以转化为: x a − x b ≡ ( m o d n ) x_a−x_b\equiv(mod\ n) xa−xb≡(mod n)
,因为 a a a中没有与 n n n的公因子( 1 1 1除外)所以 a a a对模 n n n同余 0 0 0并没有什么贡献。
又因为 x a , x b x_a,x_b xa,xb都是小于 n n n的并且不会相同,所以 x a − x b x_a−x_b xa−xb一定是小于 n n n的,那么上述的式子自然全都不成立。
假设不成立。
证得:M中任意两个数都不模n同余。
二、M中的数除以n的余数全部与n互质。
证明:我们已知 m i = a ∗ x i m_i=a∗x_i mi=a∗xi.
又因为 a a a与 n n n互质, x i x_i xi与 n n n互质,所以可得 m i m_i mi与 n n n互质。
带入到欧几里得算法中推一步就好了。
即:
g c d ( a ∗ x i , n ) = g c d ( m i , n ) = g c d ( n , m i m o d n ) = 1 gcd(a∗x_i,n)=gcd(m_i,n)=gcd(n,m_imod\ n)=1 gcd(a∗xi,n)=gcd(mi,n)=gcd(n,mimod n)=1
证毕。
推式子
根据我们证得的两个性质,就可以开始推式子了。
首先,根据第二个性质可以知道,M中的数分别对应X中的每个数模n同余。
所以可以得到:
m 1 ∗ m 2 ∗ … … ∗ m φ ( n ) ≡ x 1 ∗ x 2 ∗ … … ∗ x φ ( n ) ( m o d n ) m_1*m_2*……*m_{φ(n)}\equiv x_1*x_2*……*x_{φ(n)}(mod\ n) m1∗m2∗……∗mφ(n)≡x1∗x2∗……∗xφ(n)(mod n)
现在我们把 m i m_i mi替换成 x x x的形式,就可以得到:
a ∗ x 1 ∗ a ∗ x 2 ∗ … … ∗ a ∗ x φ ( n ) ≡ x 1 ∗ x 2 ∗ … … ∗ x φ ( n ) ( m o d n ) a*x_1*a*x_2*……*a*x_{φ(n)}\equiv x_1*x_2*……*x_{φ(n)}(mod\ n) a∗x1∗a∗x2∗……∗a∗xφ(n)≡x1∗x2∗……∗xφ(n)(mod n)
很显然,我们应该移项了,但是在移项之前,我们认为这么多的 a a a很烦,那么就先乘起来:
a φ ( n ) ∗ ( x 1 ∗ x 2 … … ∗ x φ ( n ) ) ≡ x 1 ∗ x 2 … … ∗ x φ ( n ) ( m o d n ) a^{φ(n)}*(x_1*x_2……*x_{φ(n)})\equiv x_1*x_2……*x_{φ(n)}(mod n) aφ(n)∗(x1∗x2……∗xφ(n))≡x1∗x2……∗xφ(n)(modn)
我们凑出了
a
φ
(
n
)
a^{φ(n)}
aφ(n),那么就开始移项:
(
a
φ
(
n
)
−
1
)
∗
(
x
1
∗
x
2
…
…
∗
x
φ
(
n
)
)
≡
0
(
m
o
d
n
)
(a^{φ(n)}-1)*(x_1*x_2……*x_{φ(n)})\equiv 0(mod n)
(aφ(n)−1)∗(x1∗x2……∗xφ(n))≡0(modn)
然后,就可证明:
a φ ( n ) ≡ 1 ( m o d n ) a^{φ(n)}\equiv 1(mod n) aφ(n)≡1(modn)