由数论知识可知,答案为(其中 gcd\gcd 表示最大公因数,此处 gcd(0,n)=n\gcd(0,n)=n):

gcd(x1x2,y1y2)+1\gcd(|x_1-x_2|,|y_1-y_2|)+1
#include <bits/stdc++.h>
using namespace std;
#define y1 Y1
int main()
{
	int x1, y1, x2, y2;
	while (cin >> x1 >> y1 >> x2 >> y2)
	{
		int dx = abs(x1 - x2), dy = abs(y1 - y2);
        if (1ll * dx * dy == 0) cout << max(max(dx, dy) - 1, 0) << endl;
        else cout << __gcd(dx, dy) - 1 << endl;
	}
	return 0;
}