every time use backtracing or forwardchecking produce new solutions. to
iterate from begining use reset