Hola RGT.
No entiendo cuál es el problema, el código que mostras da ternas correctas, como podes comprobar:
Código C:
Ver original#include <stdio.h>
int main() {
int i,j,k, num = 100;
for(i=1; i <= num; i++)
for(j=1; j <= num; j++)
for(k=1; k <= num; k++)
if(i*i + j*j == k*k)
printf("(%3d, %3d, %3d) : %4d + %4d = %4d\n", i, j, k, i*i, j*j, k*k);
return 0;
}
No se si te refieres a que el algorímto genera duplas dado que (a*a + b*b) es igual (b*b + a*a)...
Saludos.