Никак не пойму, можно ли тут обойтись без перебора делителей?
Вроде нельзя. Рассмотрим частный случай, когда

. Тогда от значения

ответ не зависит, и требуется найти наибольший квадрат, делящий

, но без факторизации этого сделать нельзя. По крайней мере, не существует полиномиального алгоритма, который решал бы эту задачу.