i make this program to solve the soliter (a game) but when i make the query
listeboule(25,X) and further i have this message
{ERROR: bus error}
{ Execution aborted }
what's happenning
i'm a beginner with prolog
thanks for answering
closeto(boule(2,1),boule(2,2),boule(2,3)).
closeto(boule(2,1),boule(4,7),boule(4,4)).
closeto(boule(2,1),boule(1,3),boule(1,2)).
closeto(boule(2,1),boule(2,4),boule(2,7)).
closeto(boule(2,2),boule(2,3),boule(3,1)).
closeto(boule(2,2),boule(4,8),boule(4,5)).
closeto(boule(2,2),boule(2,1),boule(1,3)).
closeto(boule(2,2),boule(2,5),boule(2,8)).
closeto(boule(2,3),boule(2,6),boule(2,9)).
closeto(boule(2,3),boule(4,9),boule(4,6)).
closeto(boule(2,3),boule(2,2),boule(2,1)).
closeto(boule(2,3),boule(3,1),boule(3,2)).
closeto(boule(2,4),boule(2,5),boule(2,6)).
closeto(boule(2,4),boule(2,1),boule(4,7)).
closeto(boule(2,4),boule(1,6),boule(1,5)).
closeto(boule(2,4),boule(2,7),boule(5,1)).
closeto(boule(2,5),boule(2,6),boule(3,4)).
closeto(boule(2,5),boule(2,2),boule(4,8)).
closeto(boule(2,5),boule(2,4),boule(1,6)).
closeto(boule(2,5),boule(2,8),boule(5,2)).
closeto(boule(2,6),boule(3,4),boule(3,5)).
closeto(boule(2,6),boule(2,3),boule(4,9)).
closeto(boule(2,6),boule(2,5),boule(2,4)).
closeto(boule(2,6),boule(2,9),boule(5,3)).
closeto(boule(2,7),boule(2,8),boule(2,9)).
closeto(boule(2,7),boule(2,4),boule(2,1)).
closeto(boule(2,7),boule(1,9),boule(1,8)).
closeto(boule(2,7),boule(5,1),boule(5,4)).
closeto(boule(2,8),boule(2,9),boule(3,7)).
closeto(boule(2,8),boule(2,5),boule(2,2)).
closeto(boule(2,8),boule(2,7),boule(1,9)).
closeto(boule(2,8),boule(5,2),boule(5,5)).
closeto(boule(2,9),boule(3,7),boule(3,8)).
closeto(boule(2,9),boule(2,6),boule(2,3)).
closeto(boule(2,9),boule(2,8),boule(2,7)).
closeto(boule(2,9),boule(5,3),boule(5,6)).
closeto(boule(1,1),boule(1,2),boule(1,3)).
closeto(boule(1,1),boule(1,4),boule(1,7)).
closeto(boule(1,2),boule(1,3),boule(2,1)).
closeto(boule(1,2),boule(1,5),boule(1,8)).
closeto(boule(1,3),boule(2,1),boule(2,2)).
closeto(boule(1,3),boule(1,6),boule(1,9)).
closeto(boule(1,3),boule(1,2),boule(1,1)).
closeto(boule(1,4),boule(1,5),boule(1,6)).
closeto(boule(1,5),boule(1,6),boule(2,4)).
closeto(boule(1,6),boule(2,4),boule(2,5)).
closeto(boule(1,6),boule(1,5),boule(1,4)).
closeto(boule(1,7),boule(1,8),boule(1,9)).
closeto(boule(1,7),boule(1,4),boule(1,1)).
closeto(boule(1,8),boule(1,9),boule(2,7)).
closeto(boule(1,8),boule(1,4),boule(1,1)).
closeto(boule(1,9),boule(2,7),boule(2,8)).
closeto(boule(1,9),boule(1,6),boule(1,3)).
closeto(boule(1,9),boule(1,8),boule(1,7)).
closeto(boule(3,1),boule(3,2),boule(3,3)).
closeto(boule(3,1),boule(2,3),boule(2,2)).
closeto(boule(3,1),boule(3,4),boule(3,7)).
closeto(boule(3,2),boule(3,1),boule(2,3)).
closeto(boule(3,2),boule(3,5),boule(3,8)).
closeto(boule(3,3),boule(3,2),boule(3,1)).
closeto(boule(3,3),boule(3,6),boule(3,9)).
closeto(boule(3,4),boule(2,6),boule(2,5)).
closeto(boule(3,4),boule(3,5),boule(3,6)).
closeto(boule(3,5),boule(3,4),boule(2,6)).
closeto(boule(3,6),boule(3,5),boule(3,4)).
closeto(boule(3,7),boule(3,8),boule(3,9)).
closeto(boule(3,7),boule(3,4),boule(3,1)).
closeto(boule(3,7),boule(2,9),boule(2,8)).
closeto(boule(3,8),boule(3,5),boule(3,2)).
closeto(boule(3,8),boule(3,7),boule(2,9)).
closeto(boule(3,9),boule(3,6),boule(3,3)).
closeto(boule(3,9),boule(3,8),boule(3,7)).
closeto(boule(4,1),boule(4,2),boule(4,3)).
closeto(boule(4,1),boule(4,4),boule(4,7)).
closeto(boule(4,2),boule(4,5),boule(4,8)).
closeto(boule(4,3),boule(4,2),boule(4,1)).
closeto(boule(4,3),boule(4,6),boule(4,9)).
closeto(boule(4,4),boule(4,5),boule(4,6)).
closeto(boule(4,1),boule(4,7),boule(2,1)).
closeto(boule(4,5),boule(4,8),boule(2,2)).
closeto(boule(4,6),boule(4,5),boule(4,4)).
closeto(boule(4,6),boule(4,9),boule(2,3)).
closeto(boule(4,7),boule(4,8),boule(4,9)).
closeto(boule(4,7),boule(4,4),boule(4,1)).
closeto(boule(4,7),boule(2,1),boule(2,4)).
closeto(boule(4,8),boule(4,5),boule(4,2)).
closeto(boule(4,8),boule(2,2),boule(2,5)).
closeto(boule(4,9),boule(4,6),boule(4,3)).
closeto(boule(4,9),boule(4,8),boule(4,7)).
closeto(boule(4,9),boule(2,3),boule(2,6)).
closeto(boule(5,1),boule(5,2),boule(5,3)).
closeto(boule(5,1),boule(2,7),boule(2,4)).
closeto(boule(5,1),boule(5,4),boule(5,7)).
closeto(boule(5,2),boule(2,8),boule(2,5)).
closeto(boule(5,2),boule(5,5),boule(5,8)).
closeto(boule(5,3),boule(2,9),boule(2,6)).
closeto(boule(5,3),boule(5,2),boule(5,1)).
closeto(boule(5,3),boule(5,6),boule(5,9)).
closeto(boule(5,4),boule(5,5),boule(5,6)).
closeto(boule(5,4),boule(5,1),boule(2,7)).
closeto(boule(5,5),boule(5,2),boule(2,8)).
closeto(boule(5,6),boule(5,3),boule(2,9)).
closeto(boule(5,6),boule(5,5),boule(5,4)).
closeto(boule(5,7),boule(5,8),boule(5,9)).
closeto(boule(5,7),boule(5,4),boule(5,1)).
closeto(boule(5,8),boule(5,5),boule(5,2)).
closeto(boule(5,9),boule(5,6),boule(5,3)).
closeto(boule(5,9),boule(5,8),boule(5,7)).
listeboule(1,[boule(1,1),boule(1,2),boule(1,3),boule(1,4),boule(1,5),boule(1,6),boule(1,7),boule(1,8),boule(1,9),boule(2,1),boule(2,2),boule(2,3),boule(2,4),boule(2,5),boule(2,6),boule(2,7),boule(2,8),boule(2,9),boule(3,1),boule(3,2),boule(3,4),boule(3,5),boule(3,6),boule(3,7),boule(3,8),boule(3,9),boule(4,1),boule(4,2),boule(4,3),boule(4,4),boule(4,5),boule(4,6),boule(4,7),boule(4,8),boule(4,9),boule(5,1),boule(5,2),boule(5,3),boule(5,4),boule(5,5),boule(5,6),boule(5,7),boule(5,8)]).
listeboule(N,X):-N > 1,N1 is
N-1,listeboule(N1,X7),listeboulevide(N1,X8),closeto(X3,X4,X5),member(X5,X8),member(X3,X7),member(X4,X7),append([X5],X7,X9),deletelist([X3,X4],X9,X).
listeboulevide(1,[boule(5,9)]).
listeboulevide(N,X):-N > 1,N1 is
N-1,listeboule(N1,X1),listeboulevide(N1,X2),closeto(X3,X4,X5),member(X4,X1),member(X5,X2),member(X3,X1),append([X3,X4],X2,X6),delete(X5,X6,X).
append([],L2,L2).
append([A|B],L2,[A|C]):-append(B,L2,C).
delete(_,[],[]).
delete(X,[X|Q],R):-delete(X,Q,R).
delete(X,[T|Q],[T|RQ]):-X\=T,delete(X,Q,RQ).
deletelist([X,Y],A,B):-delete(X,A,Z1),delete(Y,Z1,B).