variable substitue
continue=1;
while(continue=1)
do
continue=0;
for all constraints c in C
do
if c is funtional && (x,y)=variable of c
if appears_number_inallconstraints(x)>appears_number_inallconstraints(y)
to_eliminate=y; //y+2x+1=5; x=1+3, we will use x to subtituite y
subtitute=x;
else
to_eliminate=x;
subtitute=y;
endif
if eliminate(to_eliminate,substitute, c) returns True
continue=1;
endif
endif
done
done
