先讲一个很基础的事实
我之前曾经证明过 ( a , b ) = ( a , b + a ) (a,b) = (a,b+a) (a,b)=(a,b+a)
具体请看这里:点击传送
同样的道理,我也有 ( a , b ) = ( a , b − a ) (a,b) = (a,b-a) (a,b)=(a,b−a)
为了避免一些不必要的麻烦,所有的最大公约数我都定义为正数,并且我们避免讨论 ( 0 , 0 ) (0,0) (0,0)
上面两个式子意味着什么呢?
意味着 ( a , b ) = ( a , b + k a ) (a,b) = (a,b+ka) (a,b)=(a,b+ka)
那么也就可以导出我们的辗转相除公式:
( a , b ) = ( a , b m o d a ) (a,b) = (a, b\ mod\ a) (a,b)=(a,b mod a)
因为取模其实就是减去若干个 a a a
裴蜀定理的内容
最简洁的表达就一句话:对于 a , b ∈ N ∗ , x , y ∈ Z a,b \in N^*,x,y \in Z a,b∈N∗,x,y∈Z, a x + b y = ( a , b ) ax+by=(a,b) ax+by=(a,b)一定有解
分析一下,令 g = ( a , b ) g=(a,b) g=(a,b)
既然 a x + b y = g ax+by=g ax+by=g有解,那么肯定 a x + b y = 2 g , 3 g , … ax+by=2g,3g,\dots ax+by=2g,3g,…也有解, a x + b y = − g , − 2 g , − 3 g , … ax+by=-g,-2g,-3g,\dots ax+by=−g,−2g,−3g,…也有解
那么换句话说, f ( x , y ) = a x + b y f(x,y) = ax+by f(x,y)=ax+by的值域是 { … , − 3 g , − 2 g , − g , 0 , g , 2 g , 3 g , … } \{\dots,-3g,-2g,-g,0,g,2g,3g,\dots\} { …,−3g,−2g,−g,0,g,2g,3g,…}
证明1
令 g = ( a , b ) g = (a,b) g=(a,b)
假设 a , b a,b a,b的线性组合能得到的最小正整数为 s = a x s + b y s s=ax_s+by_s s=axs+bys,因为 g ∣ a , g ∣ b g|a,g|b g∣a,g∣b,所以 g ∣ s g|s g∣s
令 r = a m o d s r = a\ mod\ s r=a mod s,设 q = ⌊ a s ⌋ q = \lfloor \frac{a}{s} \rfloor q=⌊sa⌋,则 r = a − q s = a ( 1 − x s ) + b ( − y s ) r = a - qs = a(1-x_s)+b(-y_s) r=a−qs=a(1−xs)+b(−ys),所以 r r r也是 a , b a,b a,b的线性组合
显然