Is there a fundamental difference between Top down and Bottom up Dynamic programming? Meaning, is there a problem which can be solved bottom up but not top down? Or is the bottom up approach just an unwinding of the recurrence in the top down approach.