Is there an algorithm to find a family of polynomials with given finite set of zeros? Question: Is there an algorithm for finding a collection $S$ of multivariate polynomials which has a pre-specified finite set of zeros in $\mathbb{C}^n$, for $n>1$? 
E.g., how to find a set of bivariate polynomials whose only common zeros are $z_1 =(1,2)$ and $z_2 = (3,4)$, or how to find a set of trivariate polynomials whose only common zero is $z_1 =(1,1,1)$.
A pointer to a reference would suffice for an answer since this question is almost assuredly incredibly basic and not really worth anyone's time to answer in-depth.
Attempt: It's obvious how to do this for $n=1$, i.e. polynomials with coefficients in $\mathbb{C}$ (i.e. just use $S=\{(x-z_1)(x-z_2)\dots(x-z_m)\}$). But the analogous trick doesn't work in higher dimensions, even if the set of zeros consists of only one point. For example, $(x-1)(y-1)(z-1)$ has more zeros than just the point $z_1=(1,1,1)$ -- any point for which any of the $x,y,z$ coordinates is equal to $1$ is also a zero, whereas we are only interested in the point for which all three are equal to 1.
My solutions for these problems are increasingly ad hoc in higher dimensions and I feel like I might be wasting my time by not using a general procedure. For example, I am able to check my answers using Bezout's theorem and the properties of intersection multiplicity, but it would be easier not needing to check any answers because I knew I was using a provably correct algorithm.
Note: Actually I am interested in $\mathbb{P}^n(\mathbb{C})$, but it isn't difficult to use a solution for the problem for $\mathbb{C}^n$ to solve it for $\mathbb{P}^n(\mathbb{C})$, so for the sake of simplicity I am only asking about the problem for $\mathbb{C}^n$.
 A: Let your desired set of zeros be $\{z_1, \ldots, z_m\}$.
Applying a linear transformation, we may assume the first coordinates $(z_j)_1$ are all distinct.
We can construct interpolation polynomials $P_k$ so that $(z_j)_k = P_k((z_j)_1)$ for $k = 2 \ldots n$.  Then take your set of polynomials to be 
$\prod_{j=1}^m (Z_1 - (z_j)_1)$ and $Z_k - P_k(Z_1)$ for $k = 2 \ldots n$.
Thus in your first example ($(1,2)$ and $(3,4)$) the polynomials could be $(x-1)(x-3)$ and $y - x - 1$.
A: The key point is that if $I,J$ are two monomial ideals, then $I \cap J$ is also a monomial ideal, generated by the least commun multiple of the generators. This gives an algorithm by induction for finding generators of any set of points. 
As an example, if $p_1 = (1,2)$, $p_2 = (3,4)$ then $I(p_1 \cup p_2) = I(p_1) \cap I(p_2)$ has generators $a_1 = (x-1)(x-3), a_2 = (y-2)(y-4), a_3 = (x-1)(y-4)$ and $a_4 = (x-3)(y-2)$. 
Now, if you want to add e.g $p_3 = (1,5)$ you know that the generator of $I(p_3)$ are $x-1$ and $y-5$. So one should take $a_1,a_2,a_3,a_4$ and find the least commun multiple with $x-1$ and $y-5$.
As $y-5$ is prime with everyone, the l.c.m is simply the product, i.e we already got the generators $(y-5)a_i$ for $i=1,2,3,4$. For $x-1$, since it is a factor in $a_1$ and $a_3$ we can keep them, and just add $(x-1)a_2$ and $(x-1)a_4$.
This gives a very explicit list : $b_1 = (x-1)(x-3)(y-5), b_2 = (y-2)(y-4)(y-5), b_3 = (x-1)(y-4)(y-5), b_4 = (x-3)(y-2)(y-5), b_5 = a_1 = (x-1)(x-3), b_6 = (y-2)(y-4)(x-1), b_7 = a_3 = (x-1)(y-4), b_8 = (x-3)(y-2)(x-1) $. 
As you can see the list of generators grows pretty quickly. For more informations, googling "monomial ideals" should lead you to relevant information.
