ベズーのアイデンティティの紹介
2つの整数A、BのGCDは、残りを残さずにそれらを分割する最大の正の整数です。ユークリッドの性質により、各整数Nは次のように別の整数Mで除算できます。
次のように書けるようなペアu、vが存在します。
これらのペアは無限にあるため、特別なペアを見つけたいと思います。実際には、(A、Bがゼロではない)そのようなペアが2つあります。
チャレンジ
この課題の目的は、上記の制約を満たし、uが正でなければならない係数(u、v)のペアを見つけることです。これにより、出力が一意のペアに絞り込まれます。
入力
入力が正であると仮定することもできます。また、Aは常にBよりも大きくなります(A> B)。
出力
プログラム/関数の出力は、チャレンジで指定された(順序付けられた)ペアでなければなりません。
ルール
組み込みの拡張ユークリッドアルゴリズムを使用してはなりません(たとえば、Mathematicaでは使用は許可されていますGCD
が、許可されていませんExtendedGCD
-とにかく5,3で失敗します)。
答えは、完全なプログラム(STDINなどを介して入力を取得し、STDOUTを介して出力する)または関数(ペアを返す)です。
ペア(u、v)の横には出力がありません。末尾の改行またはスペースは許可されます。(大括弧またはコンマで構いません)
これはコードゴルフであり、すべての標準的な抜け穴は禁止されており、バイト数が最も少ないプログラムが勝ちます。
例
(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)