Show that the equation
$$\begin{equation} \tag{1} m^2+m+1 = n(16n^2-12n+3) \end{equation}$$
has only two integer solutions $(m,n)=(-3,1)$ or $(m,n)=(2,1)$.
It is motivated by the following fact: $$x^2+1=y^3-1$$ has only two integer solutions $(x,y)=(\pm5, 3)$. It's not hard to prove $x \equiv 1 \pmod 2$ and $y \equiv -1 \pmod 4$, thus let $x=2m+1, y= 4n-1 $, immediately we have equation (1), and hence $(m,n)=(-3,1)$ or $(m,n)=(2,1)$.
The proof of the fact uses $\mathbb{Z}(\sqrt{2})$ is a UFD. Observing $y^3=(x+\sqrt{2})(x-\sqrt{2})$, and let $y=z_1z_2$ such that $z_1^3=x+\sqrt{2}$, it's easy to find $z_1=\pm 1 +\sqrt{2}$, and thus we can find $x$ and $y$.
My question is, is there a more direct and elementary idea of finding the integer solutions for equation (1)?
Moreover, generally how to show an equation has finite number integer solutions? For this question, is there a way to give the upper and lower bound for integer solutions?
Thanks in advance!
$$ 4 m^2 + 4 m + 4 = 64 n^3 - 48 n^2 + 12 n $$ $$ (4n-1)^3 = 64 n^3 - 48 n^2 + 12 n - 1 $$ $$ (2m+1)^2 + 3 = (4n-1)^3 + 1 $$ $$ (2m+1)^2 + 2 = (4n-1)^3 $$
Note that your UFD should be $\mathbb Z [\sqrt{-2}]$