assignment solution to cache the inverse of a matrix