Solution:
Suppose he asks n questions as usual, and then asks "did you lie to any of the last n questions?" If the reply is a truthful no, then the n answers were correct. If the reply is a lying no, then the n answers were still correct. On the other hand if the answer is yes, then the n answers might have been correct and might not. However, a lie has certainly been told, so all future answers must be truthful and so he could ask the n questions again.
91=7×13, so the obvious candidates for n are 7 and 13. If we take n=7, then the worst case is 13 check questions and 7 repeat questions. That does not work because he needs 20 extra questions and only has 14. A little thought suggests reducing n each time. So the first batch of questions is 13, followed by a check question. If the check answer is yes, then he knows a lie has been told and asks the 13 questions again. No further check questions are needed, and he has used exactly 14 extra questions. If the check answer is no, then the lie may not have been told, so the next batch of questions is 12, followed by a check question, and so on. That allows him to ask 13+12+…+1=91 questions. If he gets a yes to the check question after the batch of i, then he ignores the answers to that batch and asks them again, thus asking a total of 14 extra questions, but thereafter asks no check questions.