Well, the simple approach is to use backtracking. From there you can dive into back jumping, constraint learning and DPLL.
Now, implementing that is surely full of tricks too, which you may also find interesting, but is probably not discussed too much.