关于讨论区一个 exgcd 问题的一点思考
查看原帖
关于讨论区一个 exgcd 问题的一点思考
223298
do_while_true楼主2022/8/19 11:29

原帖

这里问题在于,ax+by=gcd(a,b)ax+by=\gcd(a,b) 的解集,是否等价于 ax+by=cax+by=c 的解集。暂且令 g=gcd(a,b),d=cgg=\gcd(a,b),d=\frac{c}{g}

这里的等价是指,前者的任意一个解 (x,y)(x,y),通过两者×d\times d 得到后者的一组解,它是否是一个双射。换而言之,前面的所有解 ×d\times d 得到的是后面的所有解,不重不漏。

考虑两者的通解形式分别是:

a(x0+kbg)+b(y0kag)=g   (1)a(x1+kbg)+b(y1kag)=c   (2)\begin{aligned} a(x_0+k\frac{b}{g})+b(y_0-k\frac{a}{g})=g\ \ \ (1) \\ a(x_1+k\frac{b}{g})+b(y_1-k\frac{a}{g})=c\ \ \ (2) \end{aligned}

这里 x0,y0,x1,y1x_0,y_0,x_1,y_1 两方程各自的一组特解,并且满足 x1=x0×d,y1=y0×dx_1=x_0\times d, y_1=y_0\times d

(1)(1) 两侧都 ×d\times d,那么就得到:

a(x1+dkbg)+b(y1dkag)=c,(3)a(x_1+dk\frac{b}{g})+b(y_1-dk\frac{a}{g})=c,(3)

xxaa 后面括号内的值,yybb 后面括号内的值,也就是能生成的所有解。

(2)(2)(3)(3) 比较易知,两者生成的解集并不一致。


不知道有没有问题?

2022/8/19 11:29
加载中...