求解: a⋅x+b⋅y=gcd(a,b)
设: c=b, d=a%b=a−⌊ab⌋⋅b
{a⋅x+b⋅y=gcd(a,b)c⋅x′+d⋅y′=gcd(c,d)=gcd(b,a%b)=gcd(a,b)
得:
a⋅x+b⋅y=c⋅x′+d⋅y′=b⋅x′+(a−⌊ab⌋⋅b)⋅y′=a⋅y′+b⋅(x′−⌊ab⌋⋅y′)
{x=y′y=x′−⌊ab⌋⋅y′
当且仅当: d=0时{x′=1y′=0
设: a⋅x+b⋅y=gcd(a,b)通过Exgcd解得得解为(x0,y0)
那么:
a⋅x+b⋅y=a⋅x0+b⋅y0
a⋅(x−x0)=b⋅(y0−y)
两边同时除以gcd(a,b)
agcd(a,b)⋅(x−x0)=bgcd(a,b)⋅(y0−y)
显然: agcd(a,b)与bgcd(a,b)互质
那么:
⎧⎩⎨x−x0=bgcd(a,b)⋅ky0−y=agcd(a,b)⋅k
得:
⎧⎩⎨x=x0+bgcd(a,b)⋅ky=y0−agcd(a,b)⋅k