I am writing a program to output all $a,b \in \mathbb{N}$, where $a \le b \le n$ (for a given $n \in \mathbb{N}$), such that
$$ \frac{ab}{2\sqrt{ab}+a+b}=c\in \mathbb{N} $$
For example, $a=9$, $b=36$, and $c=4$ satisfy this equation.
My program runs at a tolerable speed for values of $n<10^5$, but is not efficient enough for higher values. Is there anything of value from number theory that I can use to eliminate my options? For instance, I know that $\sqrt{ab} \in \mathbb{N}$ is a necessary (but not sufficient) condition.
All solutions $(a,b)\in\mathbb{N}^2$ to the conditions $\frac{ab}{2\sqrt{ab}+a+b}\in\mathbb{N}$ and $a\leq b$ take the form $(a,b)=\left(ku^2(u+v)^2,kv^2(u+v)^2\right)$, where $k,u,v\in\mathbb{N}$ are such that $\gcd(u,v)=1$ and $u\leq v$.