This question came about because multiplying polynomials in Magma is slow. Hence if I want to check that a matrix with linear coefficients in a (multivariate) polynomial ring cubes to zero, I just need to evaluate the matrix on enough points, cube that matrix (fast), then check if it is zero.
It is easy to see that if $f(x)$ is a polynomial with coefficients in a field $k$ and degree at most $d$, then I can test if $f$ is zero by choosing any distinct $d+1$ points. (Perhaps I need to extend the field to do this.)
If $f(x_1,\dots,x_n)$ is a multivariate polynomial, then something similar applies. If $f$ has degree at most $d$, then I can choose $N$ co-ordinates, where $N$ is the number monomials in the $n$ variables, of degree at most $d$, test if $f$ is zero on each of these co-ordinates, and if it is, then $f=0$.
I cannot take all sets of $N$ points though, they have to be 'linearly independent', in the following sense. Order the set of $N$ monomials, then for each co-ordinate write the values of the monomials into a length $N$ vector. You must only choose $N$ co-ordinates whose corresponding vectors are linearly independent.
But I am wondering something. In the univariate case the variety of zeroes is a bunch of points, and you cannot do better. In general, the zero variety has more structure. Is there some sneaky algorithm that can check that the variety is the whole of $k^n$ in fewer than $N$ checks? Even asymptotically would be good.