<s>[INST] How prove this diophantine equation $(x^2-y)(y^2-x)=(x+y)^2$ have only three integer solution? HAPPY NEW YEAR To Everyone! (Now Beijing time  00:00 (2015))

Let $x,y$ are integer numbers,and such $xy\neq 0$,
Find this diophantine equation all solution
$$(x^2-y)(y^2-x)=(x+y)^2$$

I use Wolf found this equation only have two  nonzero integer solution $(x,y)=(-1,1),(-1,-1)$,see wolf
$$\Longleftrightarrow x^3+y^3+x^2+y^2=xy(xy-1)$$
But How prove it?
and I found sometimes,and my problem almost similar with 2012 IMO shortlist:2012 IMO shortlist
 [/INST] On the LHS the sum of the two factors is nonnegative, so $x^2-y$ and $y^2-x$ cannot be negative at the same time. Hence, if $x+y\ne0$ then both $x^2-y$ and $y^2-x$ must be positive.
If $y^2-x\ge8$ and $x^2-y\ge8$ then 
$$
(x+y)^2 = (x^2-y)(y^2-x) = \\
= \frac{x^2-y}2(y^2-x) +\frac{y^2-x}2(x^2-y) +0 \ge \\
\ge
4(y^2-x) +4(x^2-y) -2(x-y)^2 = \\
= 2(x+y)^2 - 4(x+y); \\
0\le x+y \le 4.
$$
Therefore, all solutions satisfy $0\le x+y\le4$, $1\le x^2-y\le 7$ or $1\le y^2-x\le 7$.
It is a few simple cases and they all lead to finding the integer roots of certain polynomials with integer coefficients.
</s>