Вручную еще можно считать вот так:

, тогда

. Можно вычислить все делители

и проверить на простоту

- получим список простых

. Тогда решение имеет вид:

. Можно перебирать

в порядке убывания. Для поиска показателей удобно использовать такую лемму: если

, то

. Можно также проверять простые соотношения

(

- число различных простых делителей

). Но в итоге перебор все равно получается рекурсивным: как только рассматриваем случай

, так сразу делаем подстановку

и в итоге надо снова решать уравнение

.
Хотелось бы увидеть оценки скоростей разнообразных алгоритмов. С другой стороны, в умной статье, на которую я привел ссылку, написано, что список всех прообразов имеет экспоненциальную мощность в худшем случае (в среднем - полиномиальную), так что скорость работы поиска всех прообразов экспоненциальная в худшем случае по-любому.