The equation $(xy-7)^2=x^2+y^2$ is symmetric in $x$ and $y$, so it will be sufficient to find solutions with $0\leqslant x\leqslant y$.
If $x=0$ then the equation becomes $7^2 = y^2$, with the solution $y=7$.
If $x=1$ then it becomes $(y-7)^2 = 1 + y^2$, which simplifies to $7y = 24$, with no integer solution.
If $x=2$ then it becomes $(2y-7)^2 = 4 + y^2$, which simplifies to $3y^2 - 28y + 45 = 0$, again with no integer solutions.
If $x=3$ then it becomes $(3y-7)^2 = 9 + y^2$, which simplifies to $4y^2 - 21y + 20 = (y-4)(4y-5) = 0$, with the solution $y=4$.
Now suppose that $4\leqslant x\leqslant y$. (Notice in passing that this implies $xy\geqslant16$, which means that $xy-7$ is positive.) Then $$(xy-7)^2=x^2+y^2 < x^2 + 2xy + y^2 = (x+y)^2.$$ Take the positive square root of both sides to get $xy-7 < x+y$, from which $(x-1)(y-1) < 8$.
But if $4\leqslant x\leqslant y$ then $(x-1)(y-1) \geqslant (4-1)(4-1) = 9$. That contradicts the previous inequality, showing that that are no solutions with $4\leqslant x\leqslant y$.
In conclusion, there are four solutions of $(xy-7)^2=x^2+y^2$, namely $(x,y) = (0,7),\ (3,4),\ (4,3),\ (7,0).$