The correct answer is B. wondered.
To wonder is to think about something in a curious way, without knowing the answer. It is a verb that expresses curiosity or uncertainty.
The other options are not as accurate. To puzzle is to cause someone to be confused or unable to understand something. To think is to have thoughts or ideas in one’s mind. To surprise is to cause someone to feel astonishment or wonder.
In the sentence “I have often wondered why he went to live abroad,” the speaker is expressing curiosity about the reason why the person went to live abroad. The speaker does not know the answer, and is trying to figure it out.