def Solution():
A=[]
nMaximum=100
for x in range(1,nMaximum):
dTemp1a=3*x**2
for z in range(x+1, nMaximum):
dDiscriminant=4*z**2-dTemp1a
dTemp5=int(dDiscriminant**0.5)
if dTemp5**2!=dDiscriminant:
continue
dTemp6=(-1*x+dTemp5)/2
y=int(dTemp6)
s=[x,y,z]
s=sorted(s)
if not s in A:
A.append(s)
return A
a = Solution()
print(len(a))
print(a)
# 42
# [[3, 5, 7], [5, 16, 19], [6, 10, 14], [7, 8, 13], [7, 33, 37],
# [9, 15, 21], [9, 56, 61], [10, 32, 38], [11, 24, 31], [11, 85, 91], [12, 20, 28], [13, 35, 43], [14, 16, 26], [14, 66, 74], [15, 25, 35],
# [15, 48, 57], [16, 39, 49], [17, 63, 73], [18, 30, 42], [19, 80, 91], [20, 64, 76], [21, 24, 39], [21, 35, 49], [22, 48, 62], [24, 40, 56],
# [25, 80, 95], [26, 70, 86], [27, 45, 63], [28, 32, 52], [30, 50, 70], [32, 45, 67], [32, 78, 98], [33, 55, 77], [33, 72, 93], [35, 40, 65],
# [36, 60, 84], [39, 65, 91], [40, 51, 79], [42, 48, 78], [42, 70, 98], [49, 56, 91], [55, 57, 97]]