Как способ сократить перебор, это понятно. Но в общем случае задача существенного сокращения перебора (скажем, на порядок) кажется очень сложной.
Тем не менее, приведу один оптимистический пример. Рассмотрим уравнение

где

--- целочисленный параметр. Это уравнение имеет "максимальное по порядку" решение

, для которого

. Стандартный алгоритм решения (наша старая идея "зажать между двумя квадратами") приводит к перебору

значений

, для каждого из которых нужно вычислить правую часть уравнения и затем выяснить, будет ли она точным квадратом. Казалось бы, наличие "большого" решения подталкивает думать, что существенно меньшим числом тестов на "быть точным квадратом" и не обойтись. Но это не так: оказывается, есть способ решить уравнение

, проделав всего

таких тестов, т.е. на порядок меньше. Разницу можно хорошо почувствовать уже при

.