G = gcd(A,B) returns
the greatest common divisors of the elements of A and B.
The elements in G are always nonnegative, and gcd(0,0) returns 0.
This syntax supports inputs of any numeric type.

[G,U,V]
= gcd(A,B) also returns the Bézout
coefficients, U and V, which
satisfy: A.*U + B.*V = G. The Bézout coefficients
are useful for solving Diophantine equations. This syntax supports
double, single, and signed integer inputs.

Solve the Diophantine equation, 30x + 56y = 8 for x and y.

Find the greatest common divisor and a pair of Bézout
coefficients for 30 and 56.

[g,u,v] = gcd(30,56)

g =
2
u =
-13
v =
7

u and v satisfy the Bézout's
identity, (30*u) + (56*v) = g.

Rewrite Bézout's identity so that it looks
more like the original equation. Do this by multiplying by 4.
Use == to verify that both sides of the equation
are equal.

(30*u*4) + (56*v*4) == g*4

ans =
1

Calculate the values of x and y that
solve the problem.

Input values, specified as scalars, vectors, or arrays of real
integer values. A and B can
be any numeric type, and they can be of different types within certain
limitations:

If A or B is
of type single, then the other can be of type single or double.

If A or B belongs
to an integer class, then the other must belong to the same class
or it must be a double scalar value.

A and B must be the same
size or one must be a scalar.

Greatest common divisor, returned as an array of real nonnegative
integer values. G is the same size as A and B,
and the values in G are always real and nonnegative. G is
returned as the same type as A and B.
If A and B are of different
types, then G is returned as the nondouble type.

Bézout coefficients, returned as arrays of real integer
values that satisfy the equation, A.*U + B.*V = G.
The data type of U and V is
the same type as that of A and B.
If A and B are of different
types, then U and V are returned
as the nondouble type.

You clicked a link that corresponds to this MATLAB command:

Run the command by entering it in the MATLAB Command Window.
Web browsers do not support MATLAB commands.

Was this topic helpful?

Select Your Country

Choose your country to get translated content where available and see local events and offers. Based on your location, we recommend you select United States from the following list: