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
 A: Please don't vote. Just a pictural comment to show what
the curve $(x^2-y)(y^2-x)-(x+y)^2=0$ does look like ( : it's an "elbow" ) .

$\color{red}{Red}$ is positive, $\color{green}{green}$ is negative.
The integer coordinates are yellow lines.
Picture on the right is $\color{blue}{blue}$ rectangle in picture on the left zoomed in $20 \times$ .
A: This is a partial solution. But this shows, we can obtain more solutions than which are given. Suppose $x=y,$ then $$(x^2-x)^2=4x^2$$ has three solutions namely,$$x=y=0, -1, 3.$$ Now suppose $x>y>0,$ if $y=1$ then $$(x^2-1)(1-x^2)=(x+1)^2$$ which has only solution $x=-1.$  
A: 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.
A: Note that your equation is basically 
$$-(x^2-y)^2 = (x+y)^2$$
A: $$
\begin{array}{l}
 \left( {x^2  - y} \right)\left( {y^2  - x} \right) = \left( {x + y} \right)^2  \\ 
  \Leftrightarrow xy\left( {xy - 1} \right) = x^3  + y^3  + x^2  + y^2  \\ 
  \Leftrightarrow xy\left( {xy - 1} \right) = x^2 \left( {1 + x} \right) + y^2 \left( {1 + y} \right) \cdots \left(  *  \right) \\ 
 \left\{ \begin{array}{l}
 x = y \\ 
 \left(  *  \right) \Leftrightarrow x^2  - 1 = 2x\left( {1 + x} \right) \\ 
 \left(  *  \right) \Leftrightarrow \left( {1 + x} \right)^2  = 0 \\ 
 \left(  *  \right) \Leftrightarrow \left( {x;y} \right) \in \left\{ {\left( { - 1; - 1} \right)} \right\} \\ 
 \end{array} \right.;\left\{ \begin{array}{l}
 x =  - y \\ 
 \left(  *  \right) \Leftrightarrow x^2  + 1 = 2x^2  \\ 
 \left(  *  \right) \Leftrightarrow \left( {x;y} \right) \in \left\{ {\left( {1; - 1} \right);\left( { - 1;1} \right)} \right\} \\ 
 \end{array} \right. \\ 
 \end{array}$$
