Which choice should be used here, and why?
You ought to do your homework, oughtn’t/shouldn’t/mustn’t you?
My book says mustn’t, but that’s not the same verb in the tag question as in the sentence proper, so this is confusing.
As a warning to English language learners who read this: the only sentence that sounds completely like modern, everyday speech to me is this one:
You should do your homework, shouldn't you?
However, given the constraint that we can't change "ought" in the first part of the sentence, the only correct answer here is "oughtn't you."
This expression in English is a form of ellipsis:
the omission of one or more words that are obviously understood but that must be supplied to make a construction grammatically complete
The auxiliary alone is used to imply the entire idea. For example, in the following, much simpler example, the ellipsis is shown in parentheses:
You can do it, can't you (do it)?
Because the second auxiliary verb is being used as a reference to the the entire idea introduced by the first auxiliary verb, they must always match.
This isn't as obvious in the present and past tenses, but is still true, because there is always an implied auxiliary "do" in these forms, which is used to create questions and negations:
You went, didn't you (go)?
Using "ought" in the first part of the sentence complicates this, because the somewhat archaic "ought" is used these days with an infinitive, but the nearly obsolete negative question form is still used as a pure auxiliary (notice the to here goes away):
You ought to do your homework, oughtn't you (do your homework)?
I would never use this construction with ought, at least partially because of the fact that almost no one ever says "oughtn't" anymore! Regardless, I don't know how the book could possibly come to the conclusion that "mustn't you" would ever be correct with "ought."