1.最大公约数
设: gcd(a, b)=k g c d ( a , b ) = k
a=kc, b=kd(c∈N∗,d∈N∗) a = k c , b = k d ( c ∈ N ∗ , d ∈ N ∗ )
∴c、d互质(c、d的公约数只有1)且c>d ∴ c 、 d 互 质 ( c 、 d 的 公 约 数 只 有 1 ) 且 c > d
∴a−b=k(c−d) ∴ a − b = k ( c − d )
∴gcd(b, a−b)=gcd(kd, k(c−d)) ∴ g c d ( b , a − b ) = g c d ( k d , k ( c − d ) )
假设 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)互质
∴gcd(kd, k(c−d))=k ∴ g c d ( k d , k ( c − d ) ) = k
∴gcd(a, b)=gcd(b, a−b) ∴ g c d ( a , b ) = g c d ( b , a − b )
∴gcd(a, b)=gcd(b, a % b) ∴ g c d ( a , b ) = g c d ( b , a % b )
2.ax + by = gcd(a, b)
ax+by=gcd(a, b) a x + b y = g c d ( a , b )
=gcd(b, a % b) = g c d ( b , a % b )
=bx′+(a % b)y′ = b x ′ + ( a % b ) y ′
=bx′+(a−[a/b]∗b)y′ = b x ′ + ( a − [ a / b ] ∗ b ) y ′
=bx′+ay′−[a/b]∗by′ = b x ′ + a y ′ − [ a / b ] ∗ b y ′
=ay′+b(x′−[a/b]∗y′) = a y ′ + b ( x ′ − [ a / b ] ∗ y ′ )
∴x=y′, y=x′−[a/b]∗y′ ∴ x = y ′ , y = x ′ − [ a / b ] ∗ y ′
终止条件:
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
方程无解(整数范围内)
令:
c=gcd(a, b)∗k c = g c d ( a , b ) ∗ k
∴k=c/gcd(a, b) ∴ k = c / g c d ( a , b )
∴ax+by=c ∴ a x + b y = c
=k∗gcd(a, b) = k ∗ g c d ( a , b )
∴ax+by=akx′+bky′ ∴ a x + b y = a k x ′ + b k y ′
∴ax=akx′,by=bky′ ∴ a x = a k x ′ , b y = b k y ′
∵a!=0且b!=0 ∵ a ! = 0 且 b ! = 0
∴x=kx′,y=ky′ ∴ x = k x ′ , y = k y ′
∵k=c/gcd(a, b) ∵ k = c / g c d ( a , b )
∴x=x′∗c/gcd(a, b) ∴ x = x ′ ∗ c / g c d ( a , b )
y=y′∗c/gcd(a, b) y = y ′ ∗ c / g c d ( a , b )
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 ) 的值
lcm(a, b)=a∗b/gcd(a, b) l c m ( a , b ) = a ∗ b / g c d ( a , b )
ax+lcm(a, b)+by−lcm(a, b)=c a x + l c m ( a , b ) + b y − l c m ( a , b ) = c
ax+a∗b/gcd(a, b)+by−a∗b/gcd(a, b)=c a x + a ∗ b / g c d ( a , b ) + b y − a ∗ b / g c d ( a , b ) = c
a(x+b/gcd(a, b))+b(y−a/gcd(a, b))=c a ( x + b / g c d ( a , b ) ) + b ( y − a / g c d ( a , b ) ) = c
∴ ∴
x x
+ + 或
− − 任意倍数的
b/gcd(a, b) b / g c d ( a , b ) 均有对应的y的整数解
设t=b/gcd(a, b) 设 t = b / g c d ( a , b )
x=((x′∗c/gcd(a, b)) % t+t) % t x = ( ( x ′ ∗ c / g c d ( a , b ) ) % t + t ) % t 为方程的最小非负解.