Divide and conquer algorithm for matrix multiplication