与えられた円で終わる部分的な忍者経路が到達できる赤い円の最大個数は、その円の二つの可能な前の円で終わる二つの最良の部分経路だけに依存する。
任意の日本三角形について、f(i,j)f(i,j)f(i,j) を、最上段の円から行 jjj の位置 iii にある円までの忍者経路の区間上にある赤い円の最大個数とする(その位置が存在しない場合は f(i,j)=0f(i,j)=0f(i,j)=0 とする)。(i,j)(i,j)(i,j) を通るすべての経路は (i−1,j−1)(i-1,j-1)(i−1,j−1) または (i,j−1)(i,j-1)(i,j−1) から来るので、(i,j)(i,j)(i,j) が赤い円なら f(i,j)=max{f(i−1,j−1),f(i,j−1)}+1f(i,j)=\max\{f(i-1,j-1),f(i,j-1)\}+1f(i,j)=max{f(i−1,j−1),f(i,j−1)}+1 であり、そうでなければ f(i,j)=max{f(i−1,j−1),f(i,j−1)}f(i,j)=\max\{f(i-1,j-1),f(i,j-1)\}f(i,j)=max{f(i−1,j−1),f(i,j−1)} である。