41{
42 mpz_t g;
43 mpz_init(g);
44 mpz_gcdext(g, result_um, result_vn, m, n);
45 if (0 != mpz_cmp_si(g, 1)) return false;
46 mpz_mul(result_mn, m, n);
47 mpz_mul(result_um, result_um, m);
48 mpz_mul(result_vn, result_vn, n);
49 mpz_clear(g);
50 return true;
51}