Casio-Basic Basic, 125123 bytes
For 1⇒a To n:
For 1⇒b To n:
For 1⇒c To n:
If((s*(s-a)*(s-b)*(s-c))|s=(a+b+c)/2)=n^2:
Then:
Print{a,b,c}:
Stop:
IfEnd:
Next:Next:Next
Turns out you can use : to string commands into a single line!
Standard brute force solution. 124122 bytes for the code, 1 byte to specify n as a parameter.