线性同余方程 学习笔记
description
形如 a x ≡ b ( m o d n ) ax\equiv b(mod\ n) ax≡b(mod n)的方程我们称之为线性同余方程, a , b , n a,b,n a,b,n已知,求解 x x x
1.1
首先考虑一种极特殊情况,我们想起费马小定理
a
p
−
1
≡
1
(
m
o
d
p
)
a
∈
N
∗
,
p
∈
p
r
i
m
e
,
g
c
d
(
a
,
p
)
=
1
(1.1)
a^{p-1}\equiv 1(mod\ p)\\ a\in N^*,p\in prime,gcd(a,p)=1 \tag{1.1}
ap−1≡1(mod p)a∈N∗,p∈prime,gcd(a,p)=1(1.1)
在此情况下,
a
p
−
1
a^{p-1}
ap−1为方程
a
x
≡
1
(
m
o
d
p
)
ax\equiv 1(mod\ p)
ax≡1(mod p)的解(注意
p
p
p为质数,
g
c
d
(
a
,
p
)
=
1
gcd(a,p)=1
gcd(a,p)=1)
2.1
考虑对 1.1 1.1 1.1进行推广,当 n ∉ p r i m e n\notin prime n∈/prime时,求解 a x ≡ 1 ( m o d n ) ax\equiv 1(mod\ n) ax≡1(mod n)
显然
a
a
a在
m
o
d
n
mod\ n
mod n意义下的逆元是方程的解,使用扩展欧几里得法求逆元
a
x
≡
1
(
m
o
d
n
)
∴
a
x
+
n
y
=
1
g
c
d
(
a
,
n
)
=
1
∴
a
x
+
n
y
=
g
c
d
(
a
,
n
)
(2.1)
ax\equiv 1(mod\ n)\\ \therefore ax+ny=1\\ gcd(a,n)=1\\ \therefore ax+ny=gcd(a,n) \tag{2.1}
ax≡1(mod n)∴ax+ny=1gcd(a,n)=1∴ax+ny=gcd(a,n)(2.1)
使用扩欧求解即可
2.2
考虑将问题转化为
2.1
2.1
2.1,在原题中,
a
,
n
a,n
a,n不要求互质,则转换使其互质。
g
=
g
c
d
(
a
,
n
)
a
′
=
a
g
,
b
′
=
b
g
,
n
′
=
n
g
a
′
x
≡
b
′
(
m
o
d
n
′
)
(2.2.1)
g=gcd(a,n)\\ a'=\frac{a}{g},b'=\frac{b}{g},n'=\frac{n}{g}\\ a'x\equiv b'(mod\ n') \tag{2.2.1}
g=gcd(a,n)a′=ga,b′=gb,n′=gna′x≡b′(mod n′)(2.2.1)
此时,
g
c
d
(
a
′
,
n
′
)
=
1
gcd(a',n')=1
gcd(a′,n′)=1
tip:我们为什么能这么转换
a x ≡ b ( m o d n ) ∴ a x + n y = b ∴ a ′ x + n ′ y = b ′ ∴ a ′ x ≡ b ′ ( m o d n ′ ) (tip) ax\equiv b(mod\ n)\\ \therefore ax+ny=b\\ \therefore a'x+n'y=b'\\ \therefore a'x\equiv b'(mod\ n') \tag{tip} ax≡b(mod n)∴ax+ny=b∴a′x+n′y=b′∴a′x≡b′(mod n′)(tip)
已经获得了互质的性质后,我们发现一个问题, b ′ b' b′可能不是整数,此时方程是无解的
由于
a
,
n
a,n
a,n互质,通过扩欧,我们可以得出
a
′
x
+
n
′
y
=
g
c
d
(
a
′
,
n
′
)
a
′
x
+
n
′
y
=
1
a
′
x
≡
1
(
m
o
d
n
′
)
(2.2.2)
a'x+n'y=gcd(a',n')\\ a'x+n'y=1\\ a'x\equiv 1(mod\ n') \tag{2.2.2}
a′x+n′y=gcd(a′,n′)a′x+n′y=1a′x≡1(mod n′)(2.2.2)
此时,
x
×
b
x\times b
x×b为原方程的解。
2.3
通解我们考虑对某一解 x x x加减 n g \cfrac{n}{g} gn