学校でだされる問題なら,最小解の絶対値が ≦5 くらいになるよう作られていると思われるので,虱潰しに代入していくのが一番速いと思います。
方程式の係数が大きいなら,ユークリッドの互除法によって,2 つの係数のうち大きな方を小さな方で割った余りに置き換えていくと速く解けます(そして,これより速い方法は恐らく知られていないと思います。)
たとえば 36m+25n=7 を解く場合:
・36x1+25x0=1 を解けば,(m,n)=(7x1,7x0) が解になるので,
36x1+25x0=1 を解くことに帰着。
・11x1+25(x1+x0)=1 と書き換え,x2=x1+x0 とおけば,
25x2+11x1=1 を解くことに帰着。
・3x2+11(2x2+x1)=1 と書き換え,x3=2x2+x1 とおけば,
11x3+3x2=1 を解くことに帰着。
ここまで係数を小さくすれば,解の 1 つ (x3,x2)=(−1,4) を見つけるのは容易。x3,x2 の定義式から (x1,x0)=(−9,13) がしたがい,よって (m,n)=(−63,91) がしたがう。
質問者からのお礼コメント
すごくわかりやすくて助かりました! ありがとうございます😊