If one of m, n is 0, the other has to be 0 too, and (m,n)=(0,0) is one solution.
If mn=0, let d=gcd(m,n) and we write m=da, n=db, a,b∈Z with (a,b)=1. Then, the given equation is transformed into
d3a5−d3b5=16ab(1)
So, by the above equation, we conclude that a∣d3b5 and thus a∣d3. Similarly b∣d3. Since (a,b)=1, we get that ab∣d3, so we can write d3=abr with r∈Z. Then, equation (1) becomes
abr5−abr3=16ab⇒r(a5−b5)=16
Therefore, the difference a5−b5 must divide 16. This means that
a5−b5=±1,±2,±4,±8,±16.
The smaller values of ∣a5−b5∣ are 1 or 2. Indeed, if ∣a5−b5∣=1 then a=±1 and b=0 or a=0 and b=±1, a contradiction. If ∣a5−b5∣=2, then a=1 and b=−1 or a=−1 and b=1. Then r=−8, and d3=−8 or d=−2. Therefore, (m,n)=(−2,2).
If ∣a5−b5∣>2 then, without loss of generality, let a>b and a≥2. Putting a=x+1 with x≥1, we have
∣a5−b5∣=∣(x+1)5−b5∣≥∣(x+1)5−x5∣==∣5x4+10x3+10x2+5x+1∣≥31
which is impossible. Thus, the only solutions are (m,n)=(0,0) or (−2,2).