Обозначим

и

.
Тогда

.
При этом

, т.е.

.
Для данного

будет

.
Если

при делении на 4 даёт остаток 2 или 3, то решений нет.
При остатке 0 кандидаты в

- нечётные, при остатке 1 кандидаты в

- чётные, в диапазоне

.
Получаем набор пар

, так что

.
Для каждой пары

будет набор пар

, таких что

.
Но

, т.е. из этих пар берем только

и

делится на 3.
Т.е. берем все такие

, тогда

и

.
Можно заметить, что

возрастает и в пределе стремится к 2, так что для каждого

будет не более одного кандидата

.
-- 23.09.2021, 22:45 --Если интересно, вот Matlab код:
function r = count_abc(n)
n4 = mod(n,4);
r = 0;
if n4==2 || n4==3; return; endif;
n1 = ceil(sqrt(n+8)-3);
n2 = floor(sqrt(n)-1);
if n2<n1 || (n2==n1 && mod(n1+n4,2)==0); return; endif;
p = n1;
if mod(p+n4,2)==0; p = p+1; endif;
q = (n-(p+1)^2)/4;
b1 = min(q,p-q)-mod(q,3);
r = floor(b1/3)+1;
endfunction
-- 23.09.2021, 22:47 --Пример:
>> count_abc(1000000000)
ans = 4094
>> count_abc(1000000001)
ans = 1177