1.最大公约数
设:
gcd(a, b)=k
g
c
d
(
a
,
b
)
=
k
假设 d、(c - d)不互质
即
d|(c−d)
d
|
(
c
−
d
)
∴ 设
c−d=k′d
c
−
d
=
k
′
d
∴
c=d(k′+1)
c
=
d
(
k
′
+
1
)
与题设“c、d互质”不符,
∴ d与(c - d)互质
2.ax + by = gcd(a, b)
终止条件:
b=0
b
=
0
时:
a∗1+b∗0=a
a
∗
1
+
b
∗
0
=
a
即
x=1, y=0
x
=
1
,
y
=
0
递归求解
3. ax + by = c
用扩展欧几里得先求出 ax′+by′=gcd(a, b) a x ′ + b y ′ = g c d ( a , b ) 的一组解, x’, y’及gcd(a, b)的值
若
c mod gcd(a, b)≠0
c
m
o
d
g
c
d
(
a
,
b
)
≠
0
方程无解(整数范围内)
令:
4. x的非负最小值
用扩展欧几里得先求出
ax′+by′=gcd(a, b)
a
x
′
+
b
y
′
=
g
c
d
(
a
,
b
)
的一组解,
x′
x
′
,
y′
y
′
及
gcd(a, b)
g
c
d
(
a
,
b
)
的值
∴ ∴ + + 或 任意倍数的 b/gcd(a, b) b / g c d ( a , b ) 均有对应的y的整数解
x=((x′∗c/gcd(a, b)) % t+t) % t x = ( ( x ′ ∗ c / g c d ( a , b ) ) % t + t ) % t 为方程的最小非负解.