Coje una hoja de papel y haz el ejercicio a mano. Cuando lo hayas terminado, intenta analizar el proceso que has seguido, buscando pasos concretos, repeticiones, etc. Ahora reproduce ese análisis en un diagrama de flujo y ya sólo te falta escribir el programa.
Lo sé, suena a perogrullada, pero es que es así como se hace.
[edito] Acabo de caer en que estamos en el foro OOP, y eso cambia un poco las cosas.
Lo de hacerlo a mano y sacar el proceso, sigue siendo igual. Lo que cambia es que, tras eso, antes del diagrama de flujo, deberás identificar los objetos implicados (supongo que a parte de la matriz poco más necesitarás), con sus métodos y propiedades, y ya después sí, el diagrama de flujo, etc...