旧ルールでも記事にしておりますが、頻出な上に、使い分けが必要になった言葉です。非常に、非常に、非常に面倒になりました。
「難い」はいいんですよ。「それをすることが、むずかしい。なかなかできない」(デジタル大辞泉より)という字面どおりの意味で、語源が同じとはいえほかの三つとはちょっと意味が違いますから。
残りの三つはほぼ意味が一緒です……。というか、用字用例辞典には用例がばあっとたくさん記載されているだけで、その区別のポイントがいまいち分かりません。辞書でも一緒くたに書かれていて、はっきりとした違いが明記されているわけではありません。
ただ、辞書には、意味の最後に先日の「切る」or「斬る」と同様に補説として「漢字の使い分けは「固い」が広く用いられ、「硬い」は物の性質、「堅い」は状態・ようすに用いられることが多い」という記載があり、これが最大にして唯一のヒントになりそうです。
これを考慮に入れて用字用例辞典に挙がっている用例を見てみますと、
【固い】
固い-絆・握手・決意
頭・意思・団結・地盤・身持ち・財布のひも-が固い
固く-守る・戒める・禁じる・信じる
固練り
固太り
【堅い】
堅い-炭・材木・人物・守り
堅いことを言う
口が堅い
合格・100人は堅い
堅焼き煎餅
底堅い
手堅い
【硬い】
硬い-石・氷・土・肉・飯・布地・皮膚・表現・顔つき
髪・体・骨・筋肉・表情-が硬い
緊張して硬くなる
分かるところもあるけれども、微妙なところもあるなという感じでした。
なぜ石は「硬い」のに炭や材木は「堅い」なのか……。
…………。
国会議事録にもまだそんなにないでしょうから、出てきたら用例を見て判断しましょう。(丸投げ)