同余式
整除性是很好的性质,这在勾股数组、最大公因数与素数分解中得到了体现。
而同余式提供了一种描述整除性质的简便方式。
如果 m|(a−b) m | ( a − b ) ,我们就说a与b模m同余并记之为 a≡b(mod m) a ≡ b ( m o d m )
特别地, a≡a%m(mod m) a ≡ a % m ( m o d m )
数m叫做同余式的模。 具有相同模的同余式在许多方面表现得很像通常的等式。例如:
若 a1≡b1(mod m)a2≡b2(mod m) a 1 ≡ b 1 ( m o d m ) a 2 ≡ b 2 ( m o d m ) 则 a1±a2≡b1±b2(mod m) a 1 ± a 2 ≡ b 1 ± b 2 ( m o d m ) , a1a2≡b1b2(mod m) a 1 a 2 ≡ b 1 b 2 ( m o d m )
但 ac≡bc(mod m) a c ≡ b c ( m o d m ) 时,未必有 a≡b(mod m) a ≡ b ( m o d m ) 如果 gcd(c,m)=1 g c d ( c , m ) = 1 则可以消去c
如果同余式含有未知数,我们考虑如何求解
首先考虑“穷举法” ,要解模m同余式,可让每个变量试取0,1,2…,m-1 例如,解同余式
就去试 x=0,x=1,...,x=6 x = 0 , x = 1 , . . . , x = 6 这导出两个解 x≡2(mod 7) x ≡ 2 ( m o d 7 ) 和 x≡3(mod 7) x ≡ 3 ( m o d 7 ) 当然还有其他解,但新的解与2或3是同余的,如9。当我们说“求同余式的所有解时”,是指求所有不同余的解,即相互不同余的所有解。
许多同余式是没有解的,如 x2≡3(mod 10) x 2 ≡ 3 ( m o d 10 )
下面考虑如何求解同余式 ax≡c(mod m) a x ≡ c ( m o d m )
试解一个例子,解同余式
等价于求 22|(18x−8) 22 | ( 18 x − 8 ) 即求 18x−22y=8 18 x − 22 y = 8 解这类方程的问题在第六章中研究过。
对于 ax≡c(mod m) a x ≡ c ( m o d m ) ,其有解当且仅当 线性方程 ax−my=c a x − m y = c 有解
由前可知,线性方程 ax−my=c a x − m y = c 有解的充分必要条件是 gcd(a,m)|c g c d ( a , m ) | c
且方程
au+mv=g
a
u
+
m
v
=
g
一定有解 ,设一个解为
(u0,v0)
(
u
0
,
v
0
)
则有
这说明 x0≡cu0g(mod m) x 0 ≡ c u 0 g ( m o d m ) 是同余式 ax≡c(mod m) a x ≡ c ( m o d m ) 的一个解
通解 x=x0+k⋅mg x = x 0 + k ⋅ m g
由于相差m的倍数的任何两个解认为是相同的,所有恰好有 g g 个不同的解,这些解通过取而得到。将上述过程概述为定理:
定理8.1(线性同余式定理). 设a,c与m是整数,m>=1,且设 g=gcd(a,m) g = g c d ( a , m ) 。
(a) 如果 g∤c g ∤ c ,则同余式 ax≡c(mod m) a x ≡ c ( m o d m ) 没有解
(b) 如果
g|c
g
|
c
,则同余式
ax≡c(mod m)
a
x
≡
c
(
m
o
d
m
)
恰好有g个不同的解。要求这些解,首先求线性方程
au+mv=g
a
u
+
m
v
=
g
的一个解
(u0,v0)
(
u
0
,
v
0
)
(欧几里得回带法,在计算机上递归求得,称为扩展欧几里得算法) 。则
x0=cu0/g
x
0
=
c
u
0
/
g
是
ax≡c(mod m)
a
x
≡
c
(
m
o
d
m
)
的解,不同余解的完全集由
给出。(由于只需要求解x,y这里正负符号就没讨论)
例如,同余式
943x≡381(mod 2576)
943
x
≡
381
(
m
o
d
2576
)
无解,这是因为
gcd(943,2576)∤381
g
c
d
(
943
,
2576
)
∤
381
,另一方面,同余式
有19个解,因为 gcd(893,2432)=19, 19|266 g c d ( 893 , 2432 ) = 19 , 19 | 266 这个19即为不同余解的个数(不需要其他计算)
下面解方程 893u−2432v=19 893 u − 2432 v = 19 ,使用欧几里得回带法可以求得解 (u,v)=(79,29) ( u , v ) = ( 79 , 29 ) ,乘以266/19=14得方程 893x−2432y=266 893 x − 2432 y = 266 的解 (x,y)=(1106,406) ( x , y ) = ( 1106 , 406 ) ,即1106是同余式方程的一个解,这样的互不同余的解共有19个。1106加上2432/19=128的倍数(%2432)就可得到完全解集。
注
线性同余式定理最重要的情形是 gcd(a,m)=1 g c d ( a , m ) = 1 ,在这种情形下,同余式恰好有一个解。
对于非线性的同余式,其解“不是很确定”。
我们熟悉的是对于一个d次实系数多项式的实根不超过d个 ,这个结论对于同余式并不成立。
例如 x2+x≡0(mod 6) x 2 + x ≡ 0 ( m o d 6 ) 有4个模6不同的根:0,2,3,5
但是,当p为素数时,这个结论依然成立
定理8.2(模p多项式根定理). 设p为素数, f(x)=a0xd+a1xd−1+...+ad f ( x ) = a 0 x d + a 1 x d − 1 + . . . + a d 是次数为d>=1的整系数多项式,且p不整除 a0 a 0 ,则同余式 f(x)≡0(mod p) f ( x ) ≡ 0 ( m o d p ) 最多有d个模p不同余的解。
这个定理的证明用到了反证法,和素数整除性质
假设方法:设至少存在一个首项系数不被p整除的整系数多项式 F(x) F ( x ) ,使得同余式 F(x)≡0(mod p) F ( x ) ≡ 0 ( m o d p ) 模p不同余的根的个数大于 F(x) F ( x ) 的次数,在所有这样的多项式中选择一个次数最低的,设为 F(x)=A0xd+A1xd−1+...+Ad F ( x ) = A 0 x d + A 1 x d − 1 + . . . + A d , 让 r1,r2,...,rd+1 r 1 , r 2 , . . . , r d + 1 是同余式 F(x)≡0(mod p) F ( x ) ≡ 0 ( m o d p ) 模p不同余的解。
具体内容见P41面
素数整除性质相当重要