Tried the first one. The way it reasons seems to confirm my reasoning. It tries some hypothesis and tries to reject it by leading to a conflict, therefore narrowing the possible choices.
If this is the only way, then it's not much different from trial and error. At most, it's more systematic and heuristic, although it classifies the rules, for example, contradiction forcing chain, region forcing chain, double forcing chain, etc.
It's impossible for a person to solve in this way even he knows the logic. It's probably better using direct trial and error, for example, with the help of a tool, like the sudoku helper or my program. In that way, you can start with the position with the least number of possibilities. It eventually becomes a search on a graph. For the example sudoku, the least possibilities is 3.