Если взять натуральные взаимно простые числа i, n - такие, что i> n, и i и n имеют разную четность (одно четно, а другое нет), и найти числа a = i2– n2, b=2*i*n, c = i2 + n2, то по этим формулам можно получить (причем единственным любую примитивную тройку чисел (a, b, c), для которых a2+b2=c2. и вот теперь я думаю: сколько же существует таких троек (a, b, c) для m и n, не превосходящих число 127?
Дальше так. Берём любое m от 2 до 127 - это 126 вариантов.
Для каждого из них n может меняться от 1 до (m-1).
Получается (m-1) вариант для каждого m от 2 до 127.
Общее количество вариантов
1+2+3+...+126=126*127/2=63*127=8001