Hard satisfiability problems