扩展欧几里得定理求ax + by = c 的通解:
前置条件:
ax + by = c , gcd(a, b) = d
计算:
ad\frac{a}{d}dax + bd\frac{b}{d}dby = cd\frac{c}{d}dc ;
设ad\frac{a}{d}da = a1 , bd\frac{b}{d}db = b1 ;
原式变为 a1x + b1y = cd\frac{c}{d}dc ;
易知 gcd(a1, b1) = 1 ;
设 a1m +b1n = 1 ;
由扩展欧几里得算法可得 m0 为一个特解 ;
m = m0 + b1t , t 为任意整数 ;
则 a1x + b1y = cd\frac{c}{d}dc 的通解为 :
x = m * cd\frac{c}{d}dc ;
一个特解为 x0 = m0 * cd\frac{c}{d}dc ;
得到 x = x0 + cbtd∗d\frac{c b t}{d * d}d∗dcbt ;(这里把b1换成了bd\frac{b}{d}db)
所以 x = x0 + btd\frac{bt}{d}dbt , t为任意整数 (因为 t 不一定是 d 的倍数, 所以不能约分)
在学CRT的时候自己琢磨的,如有错误,敬请斧正。