Difficulty in understanding longest common substring problem.

I have been trying to understand the longest common substring DP problem, but I am not able to understand it clearly. Anyone please explain this to me. I am more interested in theoretical aspect of this problem like what are the overllapping sub problems what is the optimal substructure how can we come up with recursive solution for this and then memoization.

I have seen lot of articles but people don’t talk about aspects I am looking for.

Thanks in advance :wink:

@vijju123 @mathecodician @kauts_kanu

please explain