ACM 数论 UVALive 6170 Esspe-Peasee
用扩张欧几里得算法解二元一次方程
z扩张欧几里得算法
引理1:解ax+by=gcd(a,b):
void exgcd(lint a,lint b,lint& d,lint& x,lint& y)
{
if (b==0)
{
d=a; x=1; y=0;
} else
{
exgcd(b,a%b,d,y,x);
y-=x*(a/b);
}
}
对于任意整数k有(x0+kb', y0-ka')也是方程的一个解
详情请阅读 小白书P179或大白书P313