Buscando el número entero positivo más pequeño ax ≡ congruencia ecuación con respecto a la solución de x 1 (mod b).
Formato de entrada
de entrada de sólo una línea, que comprende dos números enteros positivos a, b, separado por un espacio.
Formato de salida
de salida de una sola línea, que comprende un número entero x positiva, denota las soluciones de menor entero positivo.
Los datos de entrada garantizados solucionable.
Rango de datos
2≤a, b≤2 * 1092≤a, b≤2 * 109
Ejemplo de entrada:
310
Resultado de muestra:
7
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int exgcd(int a, int b, int &x, int &y){
if (!b){
x = 1;
y = 0;
return a;
}
int d = exgcd(b, a % b, y, x);
y -= (a / b) * x;
return d;
}
int main(){
int a, b;
cin >> a >> b;
int x, y;
exgcd(a, b, x, y);
cout << (x % b + b) % b << endl;
return 0;
}