Extracting maximum information from a set of exam answers and their scores
Hardness

Recovering the correct answers to the exam is NP-hard.  I'll show how to reduce one-in-three 3SAT to it.

Suppose we have a 3CNF formula $\varphi$ on $N$ variables $x_1,\dots,x_N$.  The $i$th question on the exam is "Is $x_i$ true?"  There is one answer sheet per clause of $\varphi$.  If $\varphi$ contains a clause mentioning variables $x_i,x_j,x_k$, say $x_i \lor \neg x_j \lor x_k$, then there's a corresponding answer sheet that has answered "Yes" to question $i$, "No" to question $j$, "Yes" to question $k$, and left all other questions blank, and this answer sheet received a score of exactly 1.

Now if you can extract the correct answer to all of the questions, then you can extract a satisfying assignment for the corresponding one-in-three 3-SAT problem -- a task that is NP-hard.

Therefore, you should not expect to find any efficient algorithm for your task (i.e., to extract the correct answers, given the scores on the answer sheets), at least in the worst case.

That's the bad news.  Now for the good news:

Algorithms

In practice, a good way to approach your problem might be to throw a SAT solver or ILP solver at it.  This sounds like the kind of problem that they might be effective at, in practice, if $N$ is not too large.  Your problem can be readily formulated as an instance of integer linear programming (ILP), or indeed as an instance of SAT.