最初のやり方

  //  ---:    0-  1-  2-  3-  4-  5-  6-  7-  8-  9- 10
  //    0:  509-282- 55-452-225-622-395-168-565-338-111
  //    1:  508-281- 54-451-224-621-394-167-564-337-110
  //    2:  507-280- 53-450-223-620-393-166-563-336-109
  //    3:  506-279- 52-449-222-619-392-165-562-335-108
  //    4:  505-278- 51-448-221-618-391-164-561-334-107
  //    ...
  //   52:  457-230-  3-400-173-570-343-116-513-286- 59
  //   53:  456-229-  2-399-172-569-342-115-512-285- 58
  //   54:  455-228-  1-398-171-568-341-114-511-284- 57
  //   55:  454-227-  0-397-170-567-340-113-510-283- 56
  //
  //   56:  453-226-623-396-169-566-339-112

この謎の表の通り「509→282→55→452」の順番でロードすると、一回の更新で
各ワードは一度しかロードしなくていいのですよ。

a[i+1]はa[i]のすぐ上にあるし、a[i+M]はa[i]のすぐ右にあるのですよ。
この時点ですでにFixstars賞から遠のいてた…