構文 [G,U,V] = gcd(A,B) を使用して、多項式 A と B の最大公約数 G、および G = A*U + B*V となるようなベズー係数 U と V を求めます。
[G,U,V] = gcd(A,B)
G =
U =
V =
GCD で方程式の右辺が割り切れる場合、つまり R/G が整数であれば、ディオファントス方程式は解をもちます。ベズー係数 U と V を使用して、ディオファントス方程式の 1 つの特解と一般解を計算します。
if mod(R,G) == 0
S = R/G;
disp("Particular solution:")
x1 = U*S
y1 = V*S
disp("General solution:")
syms kinteger
x = x1 + B/G*k
y = y1 - A/G*k
params = assumptions(k)
else
disp("This Diophantine equation does not have a solution.")
end