def neighbour(t, i, j):
    """
    Get the triangle edge neighbour of a triangle.

    :param t: List of triangle indices in the mesh. Size (n, 3) where n is the number of triangles.
    :param i: Triangle index.
    :param j: Edge index.
    :returns: Index of triangle neighbouring triangle i along edge j, or None if no neighbour exists.
    """
    v0 = t[i][(j + 1) % 3]
    v1 = t[i][(j + 2) % 3]

    for k in range(len(t)):
        if k != i:
            if v0 in t[k] and v1 in t[k]:
                return k

    return None