:-use_module(library(lists)).

egyenes(4,7).
egyenes(5,6).
egyenes(8,3).

kivul(X,Y) :- egyenes(A,B), A*Y+B*X>A*B.

gen(L):- genX(0,L).
genX(X,L) :- kivul(X,0), !, L=[].
genX(X,L) :- genY(X,0,L1), X1 is X+1, genX(X1,L2), append(L1,L2,L).
genY(X,Y,L) :- kivul(X,Y), !, L=[].
genY(X,Y,[(X,Y)|L]) :- Y1 is Y+1, genY(X,Y1,L).