12.68 Find all nonzero integer solutions \(a, b\) to the equation \(\left(a^{2}+b\right)\left(a+b^{2}\right)=(a-b)^{2}\).
(16th United States of America Mathematical Olympiad, 1987)
［Solution］We discuss the cases separately.
(1) When $a=b$, we have
$\left(a^{2}+a\right)\left(a+a^{2}\right)=0$,

which gives
$a=-1 \quad$ or $a=0$,

that is,
(2) When $a=0$, we have $\quad b^{3}=b^{2}$.
When $b \neq 0$, $b=1$, so we have the solution
$$
\left\{\begin{array}{l}
a=0, \\
b=1 .
\end{array}\right.
$$
(4) When $a \neq b$, and neither $a$ nor $b$ is 0.

We first prove that $a$ and $b$ have opposite signs.
If $a, b$ are both greater than 0, by symmetry and since $a, b$ are integers, assume without loss of generality that $a>b \geqslant 1$. From the original equation, we get
$$
a^{2}0, \quad b & 0 .
\end{aligned}
$$

However, from (2) we have
$$
\left(d a_{1}^{2}-b_{1}\right)\left(d b_{1}^{2}+a_{1}\right)-\left(a_{1}+b_{1}\right)^{2}=0 .
$$

This leads to a contradiction.
That is, when $d a_{1}-1 \geqslant 2$, there is no solution.
Thus, the original equation has only five solutions:
$$
\left\{\begin{array} { l } 
{ a = 0 , } \\
{ b = 1 , }
\end{array} \quad \left\{\begin{array} { l } 
{ a = 1 , } \\
{ b = 0 , }
\end{array} \quad \left\{\begin{array} { l } 
{ a = - 1 , } \\
{ b = - 1 , }
\end{array} \quad \left\{\begin{array} { l } 
{ a = 2 , } \\
{ b = - 1 , }
\end{array} \quad \left\{\begin{array}{l}
a=-1, \\
b=2 .
\end{array}\right.\right.\right.\right.\right.
$$