pub fn extended_gcd(a: i64, b: i64) -> (i64, i64, i64)