"have to" or "must" [duplicate]

Solution 1:

Must and have to are synonymous, though some may prefer one or the other for certain purposes; this always happens with periphrastic modals, but these are merely individual preferences, not usage guides -- there is no consensus.

Must, as everyone knows, is a modal auxiliary verb.
One of the many peculiarities of such modals is that they only have one uninflected form, with
- no past tense form (so you can't say **Yesterday I musted do that*)
- no infinitive form (so you can't say **Yesterday I didn't must do that*, either)
- no gerund form (so you can't say **He hates musting do that*)

So, when one needs to say things like these -- these are ungrammatical, but not unmeaningful, after all -- one uses a periphrastic modal construction. Most modals have standard paraphrases that can be used in past and participial forms (be able to for alethic can, be allowed to for deontic may, ought to for should, etc).

The standard paraphrase for must turns out to be have to. Not only that, but there's a special pronunciation. This modal sense of the present tense phrases have to and has to
are not pronounced /hæv tu/ and /hæz tu/
but rather /'hæftu/ and /'hæstu/
or, most likely, /'hæftə/ and /'hæstə/.
Always with a voiceless /ft/ or /st/ cluster, never with a /v/ or a /z/.
Quite irregular, like a modal.
Furthermore, any form of have to has to be followed by an infinitive phrase, just like a real modal.

So what you can say instead of the starred sentences above is
- Yesterday I had to do that (/'hædtə/, past tense)
- Yesterday I didn't have to do that (/'hæftə/, infinitive)
- He hates having to do that (/'hævɪŋtə/, gerund)

But there's no meaning difference between them.
There are idioms, however, and that is sometimes enough.