別に、その程度の問題なら、自分も30年以上前の高校生のときに解いて発表していたよ。
唯単に、屈折率で、微分方程式を立てるだけ。
で、解析的には初等関数としては解けないから、数値解を求めるわけ。
で、「いくら頑張っても、レンズの屈折率を使った仕組みでは、色収差は消せないよ」と説明すると、
「ふーん、ま、そんな限界では、あまり意味無いね」という反応だった。
また、「確かに、そういった曲面であることは判るけど、じゃあ、具体的には、どう研磨すればよいの?」と訊かれて、
「うーん、(今で言う3Dプリンター式のような…)」というと、
「でも、そうすると、最終的には、そのプリント解像度の凸凹が残るけど、どうするの?」
「じゃあ、最初から全部、手で研磨するのと大差ない」
「結局、焦点を監察しながら、手探りで研磨かな…」
「まあ、そうだね」だった。

実は、解析的に初等関数として解ける微分方程式は少数派だから、
大半の微分方程式は数値解としてしか解けない。
そこで、10年くらいは前だったかな?
Mathematicaを作成している団体にメールしたんだけど、
機械翻訳を利用したドイツ語が下手過ぎたか、「意味が理解できない」と返事が来て、そこで止めてある。
メールの内容は、日本語では、
「微分方程式の解として、『与えられた微分方程式のプログラミング言語に拠る、数値解を求めるプログラム』という解を求めるモードを
作ってはどうか?」
という内容だった。
つまり、我々が、微分方程式を解くときに、なぜ、初等関数解に変形したがるのか?というと、
初等関数の計算は、計算量が少ない一定以内に収まるアルゴリズムが存在する、という保証があるから。
で、その計算量的な安心感があるアルゴリズムに展開できるのなら、まあ、「その微分方程式は解けた」と近似してもいいんじゃないかな?という意味だ。