Puntos en una región
Definir la función
puntos :: Integer -> [(Integer,Integer)]
tal que (puntos n) es la lista de los puntos (x,y) con coordenadas enteras de la cuadrícula [1..n]x[1..n] (es decir, 1 ≤ x,y ≤ n) tales que |x²-xy-y²| = 1. Por ejemplo,
length (puntos 10) == 5 length (puntos 100) == 10 length (puntos 1000) == 15 length (puntos (10^50000)) == 239249