基本概念和一次同余式
基本概念
同余式的定义:设m∈Z+,f(x)=anxn+an−1xn−1+....+a1x+a0,ai∈Z,则f(x)≡0( mod m)叫做模m的同余式,若ai≡0 (mod m),则n叫做上述同余式的次数。
同余式解的定义:若a是使得f(a)≡0 (mod m)成立的一个整数,则称a所在的模m的剩余类ka为同余式的一个解(一类解),记为x≡a (mod m)
一次同余式
一次同余式:形如ax≡b (mod m),且满足a≡0 (mod m),这样形式的式子称为一次同余式。
定理1:一次同余式ax≡b (mod m),a≡0 (mod m) 当(a,m)=1时有唯一解。即当未知数系数与模数互质的时候有唯一解。
定理2:设(a,m)=d,则一次同余式ax≡b (mod m),a≡0 (mod m) ,有解的充分必要条件是d∣b,当该同余式有解时,它恰好有d个解
解一次同余方程
- 熟悉完定理1和定理2的推导过程,其实可以了解到解一次同余方程其实就是解不定方程。下面俩个例题给出解同余方程的步骤。
求解同余方程步骤:
- 先求解gcd(a,m),判断
a
和m
是否互素。当gcd(a,m)互素可以得到该方程有唯一解,当不互素的时候令gcd(a,m)=d,判断d
是否能整除b,能整除就说明有d个解,不能整除就说明该同余方程无解
- 当gcd(a,m)=1时,直接去解二元不定方程as+mt=1,求出
s
,得到唯一解为x≡bs mod( m),就结束了。
- **当gcd(a,m)=d**并且同余方程有解时,我们就要将题目所给的同余方程中的
a、b、m
都除以d
,得到一个唯一解的同余方程a1x≡b1 mod( m1),通过解二元不定方程as+mt=1,求出s
,得到a1x≡b1 mod( m1)唯一解x≡b1s mod( m1)
- 求出原同余方程ax≡b mod( m)的解,其解为x≡b1s+km1 mod( m),k=0,1,...,d−1
例题1:求一次同余方程2x≡3 (mod 5)的所有解
例题2:求一次同余方程4x≡6(mod 10)的所有解
中国剩余定理(CRT)
中国剩余定理的个人认为算是基础部分最重要的一个定理,也是密码学中非常重要的一个定理。而二次互反律
则是整个初等数论最重要的定理(听b站某位老师说的)。
- 中国剩余定理是用来解同余方程组的,该同余方程组形式如下,特征有三个:
- 未知数只有一个
x
- 每个同余式的模数不一样,但是一般要满足
gcd(m1,m2,...,mk)=1
才有解,否则需要使用拓展中国剩余定理
- 每个同余式中
b
的值可以一样,也可以不一样
⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧x≡b1( mod m1)x≡b2( mod m2)............x≡bk( mod mk) (1)
- 先来说解法再说其相关定理,这里默认gcd(m1,m2,...,mk)=1,按照从左到右的顺序计算出如下数据。
除数 |
余数 |
除数最小公倍数 |
衍数 |
乘率 |
各总 |
m1 |
b1 |
m1∗m2....mk=m |
M1=m1m |
y1=M1−1 (mod m1) |
b1∗M1∗y1 |
m2 |
b2 |
m1∗m2....mk=m |
M2=m2m |
y2=M2−1 (mod m2) |
b2∗M2∗y2 |
… |
… |
m1∗m2....mk=m |
… |
… |
|
mk |
bk |
m1∗m2....mk=m |
Mk=mkm |
yk=Mk−1 (mod mk) |
bk∗Mk∗y3 |
x≡b1∗M1∗y1+b2∗M2∗y2+....+bk∗Mk∗yk mod( m)
定理1(中国剩余定理):
设m1,m2,...,mk是k个两两互素的正整数,m=m1m2...mk,m=miMi(i=1,2,...,k),则同余式组(1)
的解为:
x≡M1′M1b1+M2′M2b2+....+Mk′Mkbk (2)
其中Mi′Mi≡1( mod mi),i=1,2,...,k
定理2:
若b1,b2,...,bk分别过模m1,m2,...,mk的完全剩余系,则(2)
过模m=m1m2...mk的完全剩余系。
高次同余式的解数及解法
相关定理
定理1:
若m1,m2,...,mk是k个两两互素的正整数,m=m1∗m2∗...∗mk,则同余式f(x)≡0( mod m)与下面同余式组等价(即任意适合f(x)≡0( mod m)都适合如下式子,反之也成立)。
f(x)≡0( mod mi),i=1,2,...,k
并且若用Ti表示f(x)≡0(mod mi),i=1,2,...,k对模mi的解数,T表示f(x)≡0( mod m)的解数,则解数之间有如下关系
T=T1T2...TK
定理2——命题1:
设α是大于等于2的正整数,则适合f(x)≡0 (mod pα),p为素数。适合上式的每个整数都适合同余式f(x)≡0 (pα−1)。
进而适合f(x)≡0 (mod pα)的每个正数都适合同余式f(x)≡0 (mod p)。
因此解f(x)≡0 (mod pα),可以转换为求f(x)≡0 (mod pα)的解。
定理2:
设x≡x1 (mod p)即x=x1+pt1,t∈Z是f(x)≡0 (mod p)的一解,并且p∤f′(x1)(f′(x)是f(x)的导函数),
则x=x1+pt1刚好给出f(x)≡0 (mod pα)的一解,对于模pα来说:
x=xα+pαtα,tα∈Z
即x≡xα( mod pα),其中xα≡x1 mod( p)
解高次同余式
情形一:
f(x)≡0( mod m)m=m1m2...mk
解法:
- 利用定理一将同余式转化为f(x)≡0( mod mi),i=1,2,...,k
- 分别解出这些转化后的同余方程的解
- 列出同余方程组,使用
CRT
即可求得原方程的解
⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧x≡b1 (mod m1)x≡b2 (mod m2).....x≡bk (mod mk)
情形二:
f(x)≡0( mod pα)
解法:
-
转化为解同余方程f(x)≡0 (mod p)的解
-
求出f(x)≡0 (mod p)的解后可以得到x=x1+pt1,t∈Z,将x1带入f(x)+f′(x)∗pt1≡0(mod p2),并求出t1≡x2 (mod p2),这样就有t1=x2+p2∗t2
-
将t1=x2+p2∗t2带回去x=x1+pt1,可以得到x=x1+p∗(x2+p3∗t2)=(x1+p∗x2)+p3t2从而得到x≡x1+p∗x2 mod( p2)
-
之后将x=(x1+p∗x2)+p3t2,带入到f(x)+f′(x)∗p2t2≡0(mod p3)并且重复2、3
步骤,直到带回到f(x)≡0( mod pα)
情形三:
f(x)≡0( mod m)m=p1α1p2α2...pαn
-
先使用定理一,将同余方程转换为f(x)≡0( mod piαi),即转换为情形二的情况
-
根据情形二的情况去解出f(x)≡0( mod piαi)的解,每组方程都需要求出解。
-
求出每个方程的所有解后,可以构造出如下同余方程组,使用CRT
,即可求出情形三的所有解:
⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧x≡b1 (mod p1α1)x≡b2 (mod p2α2).....x≡bk (mod pkαk)
素数模的同余式
主要是利用如下定理化简素数模的多项式同余式
定理1:
设p是素数,则同余式f(x)=anxn+an−1xn−1+...+a0≡0( mod p),an≡0 mod( p),与一个次数不超过p-1
的素数模p
同余式等价。
定理2:
设k≤n,x≡αi( mod p)(i=1,2,...,k)是同余式f(x)=anxn+an−1xn−1+...+a0≡0( mod p),an≡0 mod( p)的k个不同解,则对任何整数x来说,有如下式子:
f(x)≡(x−α1)(x−α2)...(x−αk)fk(x)( mod p)
其中fk(x)是首项系数an的n−k次多项式.
定理3——(1):
对于任何整数x来说,都有如下式子:
xp−1≡(x−1)(x−2)...(x−(p−1)) (mod p)
定理3——(2):又称威尔逊定理
(p−1)!+1≡0( mod p)
定理4:
同余式f(x)=anxn+an−1xn−1+...+a0≡0( mod p),an≡0 mod( p)的解数不超过它的次数。
定理5——命题1:
同余式f(x)=anxn+an−1xn−1+...+a0≡0( mod p),an≡0 mod( p)总和某个次数的首一同余式等价。
定理5:
若n≤p,则同余式f(x)=xn+an−1xn−1+...+a0≡0( mod p),有n个解的充分必要条件是(xp−x)/f(x)所得余式的一切系数都是p的倍数。