The purpose of this work is the development of a collection of satisfiability based algorithms that can be used to solve particular instances of integer programming problems. Satisfiability based algorithms have recently obtained a strong standing within the industrial community and, although for all but a few special cases the problem is NP-complete, research has shown that other problems in this class can often be transformed into a corresponding satisfiability problem and solved more effectively using the best SAT-solvers. One of the most important uses of satisfiability based algorithms is within chip design testing, such as the floating point failure of Pentium processors which require the need of efficient satisfiability based tools t...