Я предполагал потом перейти к уравнению Пелля, то есть к

,
но случай

меня пока остановил (времени пока нет). Кажется, остальные
случаи посложнее.
! Кажется так решается. Если

(

или

),
то

.
Если это неверно хотя бы для одного р, то решений нет. Иначе всегда можно выбрать

и сделать подстановку

, а подставив
- сократить на

. Получится новое уравнение

с тем же числом решений
и

. Рекуррентно выполняя этот процесс, мы придем к уравнению вида

, для решения которого надо левую часть разлагать на множители.
В случае

- в

, а при

- в
![$\mathbb{Z}[i]$ $\mathbb{Z}[i]$](https://dxdy-01.korotkov.co.uk/f/c/f/d/cfdbf030ab897d91a568831f9b30af4f82.png)
.
Ну а там уже получится небольшое число вариантов, в которых число решений выражается
через

.
причем одно решение - биективная функция другого.
То есть общий случай алгебраически сводится к двум частным, а те - нахождению числа делителей.
Эмпирически еще не проверил.
В случае

- простое ничего насчет числа разложений не ясно.
Жалко, что не формула. А то я для

формулу нашел
В случае

таким же образом можно перейти к случаю, когда D - бесквадратное.
Прошу прощенья - с решением я ошибся.
Эмпирически посмотрел - множество чисел вида

не заключает в себе всех чисел, для которых данное уравнение решений не имеет (например,

).
А вот для

- может заключать.