Introducción a la identidad de Bézout.
El MCD de dos enteros A, B es el entero positivo más grande que los divide a ambos sin dejar ningún resto. Ahora, debido a la propiedad de Euclides, cada número entero N puede dividirse por otro número entero M de la siguiente manera:
existen pares u, v tal que podemos escribir:
Como hay una cantidad infinita de esos pares, nos gustaría encontrar unos especiales. De hecho, hay exactamente (A, B no es cero) dos pares que satifican
Desafío
El objetivo de este desafío es encontrar el par de coeficientes (ordenados) (u, v) que satisfacen las restricciones anteriores y donde debe ser positivo. Esto reduce la salida a un par único.
Entrada
Podemos suponer que la entrada es positiva, también A siempre será mayor que B (A> B).
Salida
La salida de nuestro programa / función debe ser el par (ordenado) especificado en el desafío.
Reglas
No se deben usar algoritmos euclidianos extendidos incorporados (por ejemplo, en Mathematica se permite usar GCDpero no ExtendedGCD, lo que de todos modos fallaría en 5,3).
La respuesta puede ser un programa completo (toma de entrada a través de STDIN o similar y salida a través de STDOUT) o una función (devolver el par).
Al lado del par (u, v) no habrá salida, se permiten nuevas líneas o espacios finales. (los corchetes o comas están bien)
Este es el código de golf, todas las lagunas estándar están prohibidas y el programa con el conteo de bytes más bajo gana.
Ejemplos
(A, B) -> (u, v)
(42, 12) -> (1, -3)
(4096, 84) -> (4, -195)
(5, 3) -> (2, -3)
(1155, 405) -> (20, -57)
(37377, 5204) -> (4365, -31351)
(7792, 7743) -> (7585, -7633)
(38884, 2737) -> (1707, -24251)
(6839, 746) -> (561, -5143)
(41908, 7228) -> (1104, -6401)
(27998, 6461) -> (3, -13)
(23780, 177) -> (20, -2687)
(11235813, 112358) -> (8643, -864301)



