同余式、幂与欧拉公式

1 欧拉公式

  费马小定理指出,如果 p p p是素数且 p ∤ a p\nmid a pa,则 a p − 1 ≡ 1    ( m o d   p ) a^{p-1}\equiv 1\ \ (mod\ p) ap11  (mod p)。如果 p p p换成合数,那这个结论就不正确了,例如 5 5 ≡ 5    ( m o d   6 ) 5^5\equiv 5\ \ (mod\ 6) 555  (mod 6)。因此就有了一个问题,是否有依赖模 m m m的指数使得:
a ? ? ? ≡ 1    ( m o d   m ) a^{???}\equiv 1\ \ (mod\ m) a???1  (mod m)

  首先观察到,如果 g c d ( a , m ) > 1 gcd(a,m)\gt 1 gcd(a,m)>1,那这是不可能的,假设 a k ≡ 1    ( m o d   m ) a^k\equiv 1\ \ (mod\ m) ak1  (mod m),则对某整数 y y y a k = 1 + y m a^k = 1+ym ak=1+ym,所以 g c d ( a , m ) gcd(a,m) gcd(a,m)整除 a k − y m = 1 a^k - ym=1 akym=1,换言之,如果 a a a的某个幂模 m m m 1 1 1,则必有 g c d ( a , m ) = 1 gcd(a,m) = 1 gcd(a,m)=1。这告诉我们要考虑与 m m m互素的数的集合:
{ a : 1 ≤ a ≤ m , g c d ( a , m ) = 1 } \{a:1\le a\le m,gcd(a,m) = 1\} {a:1am,gcd(a,m)=1}
例如:
在这里插入图片描述

   1 1 1 m m m之间与 m m m互素的整数个数是个很重要的量,我们将它记为:
ϕ ( m ) = # { a : 1 ≤ a ≤ m , g c d ( a , m ) = 1 } \phi(m) = \# \{a:1\le a\le m,gcd(a,m) = 1\} ϕ(m)=#{a:1am,gcd(a,m)=1}
函数 ϕ ( m ) \phi(m) ϕ(m)叫做欧拉函数。当 p p p是素数时, 1 ≤ a < p 1\le a \lt p 1a<p的每个整数都与 p p p互素。所以,对素数 p p p有公式:
ϕ ( p ) = p − 1 \phi(p) = p-1 ϕ(p)=p1

  定理(欧拉公式):如果 g c d ( a , m ) = 1 gcd(a,m) = 1 gcd(a,m)=1则:
a ϕ ( m ) ≡ 1    ( m o d   m ) a^{\phi(m)} \equiv 1\ \ (mod\ m) aϕ(m)1  (mod m)

  欧拉公式的证明与费马小定理的证明方法几乎一致,在证明之前先证明下述引理。

  引理:如果 g c d ( a , m ) = 1 gcd(a,m) = 1 gcd(a,m)=1,则数列:
b 1 a , b 2 a , ⋯   , b ϕ ( m ) a     ( m o d   m ) b_1a,b_2a,\cdots,b_{\phi(m)}a\ \ \ (mod\ m) b1a,b2a,,bϕ(m)a   (mod m)
与数列:
b 1 , b 2 , ⋯   , b ϕ ( m )     ( m o d   m ) b_1,b_2,\cdots,b_{\phi(m)}\ \ \ (mod\ m) b1,b2,,bϕ(m)   (mod m)
相同,尽管它们的次序可能不同。

  如果 b b b m m m互素,则 a b ab ab也与 m m m互素。从而数列:
b 1 a , b 2 a , ⋯   , b ϕ ( m ) a     ( m o d   m ) b_1a,b_2a,\cdots,b_{\phi(m)}a\ \ \ (mod\ m) b1a,b2a,,bϕ(m)a   (mod m)
中的每一个数同余于数列
b 1 , b 2 , ⋯   , b ϕ ( m )     ( m o d   m ) b_1,b_2,\cdots,b_{\phi(m)}\ \ \ (mod\ m) b1,b2,,bϕ(m)   (mod m)
中的每一个数。进而每一个数列都有 ϕ ( m ) \phi(m) ϕ(m)个数。因此,如果能够证明第一个数列中的数对于模 m m m不同,则就得到两个数列(重排后)相同。

  假设从第一个数列中取两个数 b j a , b k a b_ja,b_ka bja,bka并假设它们同余:
b j a ≡ b k a    ( m o d   m ) b_ja \equiv b_ka\ \ (mod\ m) bjabka  (mod m)
因此有 m ∣ ( b j − b k ) a m\mid(b_j-b_k)a m(bjbk)a,由于 m m m a a a互素,故 m ∣ b j − b k m\mid b_j - b_k mbjbk,又因为 ∣ b j − b k ∣ ≤ m − 1 |b_j - b_k|\le m-1 bjbkm1,所以 b j − b k = 0 b_j-b_k=0 bjbk=0,这说明数列中的数模 m m m不同。

  根据引理,由于两个数列是相同的,所以第一个数列的乘积等于第二个数列的乘积:
( b 1 a ) ∗ ( b 2 a ) ∗ ( b 3 a ) ∗ ⋯ ∗ ( b ϕ ( m ) a ) ≡ b 1 b 2 ⋯ b ϕ ( m )    ( m o d   m ) (b_1a)*(b_2a)*(b_3a)*\cdots * (b_{\phi(m)}a)\equiv b_1b_2\cdots b_{\phi(m)}\ \ (mod\ m) (b1a)(b2a)(b3a)(bϕ(m)a)b1b2bϕ(m)  (mod m)
左边提出 ϕ ( m ) \phi(m) ϕ(m) a a a并消去 b 1 b 2 ⋯ b ϕ ( m ) b_1b_2\cdots b_{\phi(m)} b1b2bϕ(m)得到:
a ϕ ( m ) ≡ 1    ( m o d   m ) a^{\phi(m)} \equiv 1\ \ (mod\ m) aϕ(m)1  (mod m)

2 参考资料

《数论概论》第四版 P47-P49

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值