In Algorithms, I came across these 2 concepts Dynamic Programming and Divide & Conquer and I'm kinda slightly confused here. For me, it seems the same, but they are defined as different concepts, I'm not yet sure of it. Anybody who can differentiate between those two?

I tried to use them in the Fibonacci series example for simple understanding, but as I see it, no difference so far. Any ideas?