Если у тебя одно уравнение с двумя переменными и его надо решить в целых числах, то нужно подбирать такие х и у, чтобы они делились нацело.
ax + by = 0
Здесь все совсем просто,
by = -ax
y = -ax/b
Если a и b взаимно простые, то для того, чтобы у был целым, х должен делиться на b.
Точно также
x = -by/a
y должен делиться на а.
Сложнее, когда справа не 0, а некое число с.
ax + by = c
y = (c - ax) / b
x = (c - by) / a
Здесь уже надо подбирать x так, чтобы c - ax делилось на b, и y так, чтобы c - by делилось на а.
А если у тебя система линейных уравнений
{ a1*x + b1*y + c1 = 0
{ a2*x + b2*y + c2 = 0
Тогда умножаешь первое уравнение на a2, второе уравнение на (-а1), и складываешь
a1*a2*x + b1*a2*y + c1*a2 - a1*a2*x - a1*b2*y - a1*c2 = 0
y*(b1*a2 - a1*b2) = a1*c2 - c1*a2
Отсюда находишь y, подставляешь в любое из уравнений и находишь х.
Это только в буквах все страшно выглядит, если а1, а2, b1, b2, c1, c2 заменить числами, то намного проще.