主な用法だけの比較になりますが
sayは
①say (to 人) that S V → SがVだと(人に)言う
tellは
②tell 人 to V → Vするように[人]に言う
③tell 人 that S V → SがVだと[人]に言う
sayとtellの大きな違いは
まず1つは
「〜するように言う」(=〜するべきだと言う・〜するよう命令する)
というのは②tell 人 to Vに特有の用法なんです。
同じことを①や③で言うには、that節のなかでshouldとかを入れると近くはなりますが、
①③は、that S V(という事実)を言う というだけで 「べき」というニュアンスはthat節は持ち合わせていません。
もう一つの違いは
人 に sayする・tell する というときは
tellの場合は②③のようにtellのうしろに目的語として「人」を置けば良いだけです。
逆にいうとこれは目的語なので、勝手に無しにすることはできません。
tell that SVの型もないわけではないけど、これは「言う」という意味にならないのでsayと比較する必要がないと思います
sayの場合は、①のsay (to 人)というふうに、
人 に というのは前置詞のtoを使って言います。
逆にいうとこのto 人は 副詞句の付け加えなので
言う必要がないときは省くことができます。
今回の問題の場合、ダイエットする「よう」言われた
の時点でsayはないとわかります。
ウ・エは、ここでいう「我慢できない」は
ウの「〜に耐える」のニュアンスよりも、エの「〜なしでやる」の意味で言ってると考えてエが答えになります。
ウだと、チョコレートが何か苦痛を与える悪いもので、それに耐えることができる、できない という話になってしまいます。
ありがとうございます!