对于给定的正整数 a , b a,b a,b,方程 a x + b y = c ax + by = c ax+by=c 有解的充要条件为 c c c 是 gcd(a, b) \text{gcd(a, b)} gcd(a, b) 的整数倍。
充分性证明:
设 gcd ( a , b ) = d , a = k 1 × d , b = k 2 × d , c = k 3 × d \gcd(a, b)=d,a=k1×d, b=k2×d, c=k3×d gcd(a,b)=d,a=k1×d,b=k2×d,c=k3×d,其中 k 1 , k 2 k1, k2 k1,k2 互质。
原等式等价于 k 1 × d × x + k 2 × d × y = k 3 × d k1×d×x + k2×d×y = k3×d k1×d×x+k2×d×y=k3×d,
即 k 1 × x + k 2 × y = k 3 k1×x + k2×y = k3 k1×x+k2×y=k3,其中 k 1 , k 2 k1, k2 k1,k2 互质。
那么这个方程等价于模线性方程 k 1 × x ≡ k 3 ( m o d k 2 ) k1×x\equiv k3 \pmod{k2} k1×x≡k3(modk2)。
由 e x g c d \rm exgcd exgcd 知,该方程一定有解,那么该方程的一组解即为原方程的解。
必要性证明:
采用反证法,假设 c c c 不是 gcd ( a , b ) \gcd(a,b) gcd(a,b) 的倍数。
设 a = k 1 × d , b = k 2 × d , c = k 3 × d + c ’ a=k1×d, b=k2×d, c=k3×d+c’ a=k1×d,b=k2×d,c=k3×d+c’ ,
那么 k 1 × d × x + k 2 × d × y = k 3 × d + c ’ k1×d×x + k2×d×y = k3×d+c’ k1×d×x+k2×d×y=k3×d+c’ 。
两边同时除以 d d d ,有: k 1 × x + k 2 × y = k 3 + c ’ d k1×x + k2×y = k3 + \dfrac{c’}d k1×x+k2×y=k3+dc’ 。
由于 k 1 , x , k 2 , y , k 3 k1,x,k2,y,k3 k1,x,k2,y,k3 均为整数,而 c ’ d \dfrac{c’}d dc’ 显然不是整数,故原方程无解。
这与方程有解矛盾,故 c c c 一定为 gcd ( a , b ) \gcd(a,b) gcd(a,b) 的倍数。
对于方程 a x + b y + c z + ⋯ + n m = f ax + by + cz + \dots + nm = f ax+by+cz+⋯+nm=f(其中 a , b , c , … , n , f a,b,c,\dots,n,f a,b,c,…,n,f 为整数),
它有整数解的充要条件是 f f f 为 gcd ( a , b , c , … , n ) \text{gcd}(a,b,c,\dots,n) gcd(a,b,c,…,n) 的整数倍。
证明方法类似原定理的证明,在这里不再赘述。
给定一个序列 { a 1 , a 2 , … , a n } \{a_1,a_2,\dots,a_n\} {a1,a2,…,an} ,求一个整数序列 { b 1 , b 2 , … , b n } \{b_1,b_2,\dots,b_n\} {b1,b2,…,bn} ,使得 ∑ i = 1 n a i × b i \sum\limits_{i=1}^na_i×b_i i=1∑nai×bi 的值最小(要求最小值为正数),求这个最小值。
根据裴蜀定理的推广,原式最小值即为 gcd ( a 1 , a 2 , … , a n ) \text{gcd}(a_1,a_2,\dots,a_n) gcd(a1,a2,…,an) 。
例题,套上面那个式子就行啦~