# Python3, 259 bytes


```lang-py
lambda X:[(m,n,r)for m in range(1,X+1)for n in range(m+1,X+1)for r in range(1,X+1)if F(n,m,r)and m+n<2*r]
def F(n,m,r):
 T=r**2-((n+m)/2)**2
 if T<0:return 0
 L=2*T**.5
 U=abs((-L+(L**2+4*m*n)**.5)/2)
 return U and int(U)==U and sorted([U,L+U])!=sorted([n,m])
```

[Try it online!](https://tio.run/##XU87T8MwEN79K47t/GhJQpFQVK9MGWOpUsngKglYqi/RNQz8@mBDUSTG73n3zV/Lx0RPLzOvo31brz5eeg@n@ozRkGE5TgwRAgF7eh@wNCdd/pC0kVFvNP/3hhFekUxMXZ56iJqOleJO9MMm1AJay0pVO0TSUT5WMgEBKdsei5qH5ZMJCgGNrVSr1P5ZgLP@ckPcNRqbZNYHFRXJrOW4gHvIQb4aaEEnrf1Ft4mXocezM412nXywf0T6ppNriHPCqUDkQSEPuhtGLItCyhpmzo1Brt8)