Project Euler 331(2)

http://projecteuler.net/index.php?section=problems&id=331


きのう真面目に考えてみた。そのうちにこれは線形代数であることに気がついた。ノートと格闘したらNが偶数のときに非常に好ましいことになることがわかった。今日それで組んでみたら、T(1000)は出た。しかし、現状はO(N^2)になっている。頑張ればO(N)になるかもしれない。しかし、それより小さな計算量になる気配がない。それから奇数の場合もわかっていない。奇数の場合はそもそも答えがあるとは限らないはずなのだが。