Maybe you need num_guards-1 questions?
I doubt you could solve for 50 guards with 1 question.
If all the guards say the same thing, you're talking to the lying guard. Otherwise the liar is simply the one that answers differently.
Would that work? I think so.