import math
def gen(x):
matrix = [1]*4
while matrix != [x]*4:
yield matrix
matrix[0] += 1
i = 0
while matrix[i] > x and i < 3:
matrix[i] = 1
matrix[i+1] += 1
i += 1
yield [x]*4
def test(x):
D = (x[0]+x[3])**2 - 4*(x[0]*x[3] - x[2]*x[1])
return math.sqrt(D) - int(math.sqrt(D)) == 0
if __name__ == "__main__":
for i in gen(100):
if test(i):
print i