On this page
article
Euclides estendido
Sobre
Acha x e y tal que ax + by = mdc(a, b) (nao eh unico)
Assume a, b >= 0
O(log(min(a, b)))
Link original: gcdEstendido.cpp
Código
tuple<ll, ll, ll> ext_gcd(ll a, ll b) {
if (!a) return {b, 0, 1};
auto [g, x, y] = ext_gcd(b%a, a);
return {g, y - b/a*x, x};
}