Circular Limited Sums
Python with numpy, 59 bytes



lambda M,N:trace(mat(tri(M+1)[::-1])**N)
from numpy import*


Try it online!

Uses matrix multiplication to count paths. If float precision is an issue, the mat could specify mat(...,int).