Completed

To test:
mx <- makeCacheMatrix()
mx$set(matrix(runif(16), 4, 4))
cacheSolve(mx)
x <- mx$get()
y <- cacheSolve(mx)
trunc(x %*% y)