def inner_solve(u, data):
        ld = data[0, :-1]
        d = data[1, :]
        ud = data[2, 1:]
        n = d.shape[0]
        for i in range(1, n):
            u[i] -= ld[i-1]*u[i-1]

        u[n-1] = u[n-1]/d[n-1]
        for i in range(n-2, -1, -1):
            u[i] = (u[i] - ud[i]*u[i+1])/d[i]