code: def backward_substitution(matrix_u, matrix_y):
      
      q = len(matrix_y)
      matrix_x = [0.0 for _ in range(q)]
      matrix_x[q - 1] = float(matrix_y[q - 1]) / float(matrix_u[q - 1][q - 1])
      for i in range(q - 2, -1, -1):
          matrix_x[i] = float(matrix_y[i]) - sum([matrix_u[i][j] * matrix_x[j] for j in range(i, q)])
          matrix_x[i] /= float(matrix_u[i][i])
      return matrix_x
docs: Backward substitution method for the solution of linear systems.
  
      Solves the equation :math:`Ux = y` using backward substitution method
      where :math:`U` is a upper triangular matrix and :math:`y` is a column matrix.
  
      :param matrix_u: U, upper triangular matrix
      :type matrix_u: list, tuple
      :param matrix_y: y, column matrix
      :type matrix_y: list, tuple
      :return: x, column matrix
      :rtype: list