扩展欧几里得算法模板

扩欧: 用于求 不定方程 的 一组 整数解
通解形式:
x=x0+b/gcd(a,b)
y=y0-a/gcd(a,b)

ax+by=gcd(a,b)时
特解的方法

int gcd(int a,int b){
	if(b==0)return a;
	return gcd(b,a%b);
}
int exgcd(int a,int b,int &x,int &y){
	if(b==0){
		x=1,y=0;
		return a;
	}
	int x1,y1,d;
	d=exgcd(b,a%b,x1,y1);
	x=y1,y=x1-a/b*y1;
	return d;
}

当ax+by=c,若c能被gcd(a,b)整除,那么在原来的基础上*c/gcd(a,b)即可求得特解

posted @ 2025-02-23 20:12  Marinaco  阅读(26)  评论(0)    收藏  举报
//雪花飘落效果