关注我的公众号c137Lab获取更多相关内容
看过了整数的规律,那么整数 a 的幂 a1,a2,⋯ 模 m 是否存在规律呢?一般来说,最好识别出同余规律的是素数,我们就从素数模开始。
按照一般数论研究的方法,我们先列出一些数据,观察其中是否存在某些规律( a=1,2,3,⋯ ):
在这些表中可以看出许多有趣的规律,在此我们介绍其中的一个——费马小定理。这个结果由费马最先提出,但是费马并没有证明。第一个证明是莱布尼茨提出的。
费马小定理:
设 p 是素数, a 是任意整数且 a≡0( mod p) 则
ap−1≡1( mod p)
在让人头疼的证明之前,我们先看看费马小定理到底有什么用。回想之前介绍过的索引余数系统(Index RNS),就是使用 a≡gα mod p 来表示整数的。那么接下来对于 RNS 提出两个问题,并使用费马小定理解决这两个问题:
-
当 α 很大时,如何快速计算出 a ?
-
当已知 a,α,p 时,如何求解 g ?
解:
-
例如当计算 235( mod 7) 时,利用费马小定理可得 26≡1( mod 7)
235=26×5+5=(26)5+25≡15×25( mod 7)≡32( mod 7)≡4( mod 7)
-
假设解同余式 4≡x103( mod 11) ,根据费马小定理有 x10≡1( mod 11)
x100=(x10)10+x3
则原同余式可以等价为求解:
4≡x3( mod 11)
则通过几次尝试或查找表即可完成求解。
接下来开始证明费马小定理:
为了详细地叙述证明思路,先证明一个特例:36≡1( mod 7) 。
观察 x( mod 7),x=1,2,⋯,6 ,将其乘以3:
x( mod 7) |
1 |
2 |
3 |
4 |
5 |
6 |
3x( mod 7) |
3 |
6 |
2 |
5 |
1 |
4 |
不难发现,第二行的数同样还是 123456 ,只不过进行了重新排序,将第一行和第二行分别相乘,可以得到下面的结论:
(3∗1)(3∗2)(3∗3)(3∗4)(3∗5)(3∗6)≡6!( mod 7)
即:
36∗6!≡6!( mod 7)
由于 6! 和 7 互素,则可以从同余式两边消去.即得证 36≡1( mod 7)
接下来将这一结论拓展到一般性。首先证明上面用到的一个重要结论:
断言: 设 p 是素数,a 是任何整数且 a≡0( mod p) 则数
a,2a,3a,⋯,(p−1)a ( mod p)
与
1,2,3,⋯,(p−1) ( mod p)
相同,只是次序不同。
证明: 由于 a 是任何整数且 a≡0( mod p) ,则显然 a,2a,3a,⋯,(p−1)a ( mod p) 中没有一个数能够被 p 整除。假设从数列中取出两个数 ja,ka ,令 1≤j,k≤p−1 ,并假设他们同余
ja≡ka( mod p)
则 p∣(j−k)a 由于 p 不整除 a ,根据素数整除性定理可以得到:
p∣(j−k)
同时 ∣j−k∣<p−1 ,不难看出 j−k=0 即 j=k 。
从这里可以得出一个结论:a,2a,3a,⋯,(p−1)a 中任意的两个值对模 p 不同。但是仅有 p−1 个数对模 p 不同,即 1,2,3,⋯,(p−1),则两数列 a,2a,3a,⋯,(p−1)a,1,2,3,⋯,(p−1) 此时完成了断言的证明。
接下来利用这一断言证明费马小定理:
证明: 由于数列 a,2a,3a,⋯,(p−1)a 与 1,2,3,⋯,(p−1) 相同,则
a⋅(2a)⋅(3a)⋯((p−1)a)≡1⋅2⋅3⋯(p−1)( mod p)
ap−1⋅(p−1)!≡(p−1)!( mod p)
由于 (p−1)! 和 p 互素,消去 (p−1)! 则可以得到费马小定理:
ap−1≡1( mod p)
参考文献:A Brief Introduction to Number Theory --Joseph H.Silverman