cayley-bacharach theorem