Любое двухзначное число можно представить в виде k=10i+j, где i=1..9, j=0..9.
Тогда (10i+j)+(10j+i)=n², где n - натуральное число
11i+11j=n²; 11(i+j)=n² ⇒ n=√(11(i+j)).
Сумма i+j при указанных выше ограничениях может меняться от 1 до 18, но лишь i+j=11 позволит получить целочисленное n и оно будет равно 11.
Следовательно, алгоритм получения искомых чисел прост: i=11-j
Поскольку j=0 и 1 дадут значения i, равные 11 и 10 соответственно, j (и i) придется ограничить интервалом 2..9
Алгоритм простейший: для каждого i от 2 до 9 находим j=11-i и формируем два числа: 10i+j и 10j+i