I've heard this problem in my Textbook a hundred times before. The constraints are usually that the user can only move up or right, and cannot go outside of the nxn grid. So basically it is a rearrangement of (right,right,up,right,up) (there are m+n of them). The number of ways to get from point (x1,y1) to (x2,y2) is the same as the number of rearrangements of that set of (right,up). So the real question is how can you rearrange 2n items with two unique items, where order matters?
How you have to think about it is, there are 'm' slots for up (the height), and 'n' slots for right (the width). So you just have to place either (1) the m's in the right place, or (2) the n's in the right place. Let's say you choose m's. So you have (m+n) slots, ( _ , _ , _ , _ ,..., _ , _ , _) and you have to put m "up" words in there, how many ways can you do that? Think about the answer before moving on.
There are exactly m+n items to choose from, and you are choosing m of them, so the answer is C(m+n,m), the rest of the items HAVE to be "right" or else the right proportion will not be met and you won't reach your target, try it out. Now the question can be reversed, and you can choose n "up" moves instead, and the combination will be C(m+n,n), which is actually the same exact number, because of the rules of combinatorics. I'm not sure if you are including the "left" move in there, so I left that out of my answer