# 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)