@staticmethod
def lusolve3(c, d, e, b):
    """
        x = LUsolve3(c, d, e, b)
        solves [c\\d\\e]{x} = {b}, where {c}, {d} and {e} are the vectors returned
        from LUdecomp3.
        """
    n = len(d)
    for k in range(1, n):
        b[k] = b[k] - c[k - 1] * b[k - 1]
    b[n - 1] = b[n - 1] / d[n - 1]
    for k in range(n - 2, -1, -1):
        b[k] = (b[k] - e[k] * b[k + 1]) / d[k]
    return b
