Задача №261. Сложное уравнение

Решаем желательно на С++. Смотрим беседу в VK. Там я иногда буду давать подсказки. Считать эти подсказки частью условия.
Олимпиада завершена. Режим дорешивания.

Решить в целых числах уравнение ( ax + b ) : ( cx + d ) = 0.

Входные данные

Вводятся 4 числа: a, b, c и d; c и d не равны нулю одновременно.

Выходные данные

Необходимо вывести все целочисленные решения, если их число конечно, “NO” (без кавычек), если целочисленных решений нет, и “INF” (без кавычек), если их бесконечно много.

Примеры
Входные данные
1
1
2
2
Выходные данные
NO
Входные данные
2
-4
7
1
Выходные данные
2
Сдать: для сдачи задач необходимо войти в систему