300億円欲しい

メジャーリーグのデータ解析します

数学検定2級問題より

内容は確かこんな感じ。

4で割ったあまりが1である素数は、自然数の平方の和で表せる。
$x^2 + y^2 = 1913$ となる自然数 $(x,y)$ の組を求めよ


…? 全然分からん。作業問題なんですかね。
僕は大人なのでHaskellで解きます。

-- Toi4.hs 
main = do
    print $ [(x,y) | x <- [1..45], y <- [x..45], x^2 + y^2 == 1913 ]

答えは (8,43) と (43,8) でした。どうやって考えればいいのかな。