Challenge problem 3

This is simply the two-dimensional version of problem 2. You are given an n-by-n matrix of numbers. What is the submatrix with the largest sum?

For example, for the input
105-3-2-6
05-3-26
-6-63-216
-453-28
05-3-26
Then answer is highlighted in green.

There is a O(n3) algorithm, where n is as in "n-by-n matrix".