Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int gcd(int a, int b, int & x, int & y) {
- if (a == 0)
- {
- x = 0, y = 1;
- return b;
- }
- int x1, y1;
- int g = gcd(b % a, a, x1, y1);
- x = y1 - (b / a) * x1;
- y = x1;
- return g;
- }
- bool find_any_solutions(int a, int b, int c, int & x0, int & y0, int & g) {
- g = gcd (abs(a), abs(b), x0, y0);
- if (c % g != 0)
- return false;
- x0 *= c / g;
- y0 *= c / g;
- if (a < 0) x0 *= -1;
- if (b < 0) y0 *= -1;
- return true;
- }
- int main()
- {
- int a, b, x1, y1, g, c;
- cin >> a >> b >> c;
- if (a > b) swap(a, b);
- if (find_any_solutions(a, b, c, x1, y1, g))
- cout << ' ' << x1 << ' ' << y1;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement