Modified dpll algorithm. It must be optimized