Prolog does not, by default, remember conflicts and avoid them. Solvers do, most of them.
Look for Conflict-Driven Clause Learning (CDCL) SAT solvers for one example. The pseudoboolean and integer programming solvers and optimizers learn cutting planes marking subspaces where no (better) solution exists, for another example.