Populating a vector of numbers to expose an error in a function implementation
Multilinear polynomials
If you're willing to use probabilistic methods, I suggest using a randomized algorithm for polynomial identity testing.
You want to test whether $f(x)=g(x)$ holds for all $x$, where $f,g$ are multilinear oolynomials.  This is an instance of the polynomial identity testing problem.  There are effective randomized algorithms for polynomial identity testing.
To make this answer self-contained, I'll give you a brief overview of a reasonable algorithm.  First, randomly pick a large prime $p$.  Next, randomly pick $x=(x_1,\dots,x_n)$, with each element $x_i$ chosen uniformly at random modulo $p$.  Finally, check whether $p(x)\equiv g(x) \pmod p$.  If no, then you know that your implementation is faulty.  If yes, then your implementation has a good chance of being good.  (In particular, a faulty implementation that computes some other multilinear polynomial has a low probability of going undetected, thanks to the Schwartz-Zipple lemma.)  You can repeat this procedure multiple times for stronger guarantees.
This procedure assumes you can inspect the code of the algorithm and verify that it computes a multilinear polynomial, which seems to be something your question proposes that we can assume.  If you have a complete black box and you have no knowledge whether it computes a multilinear polynomial or not, you can't get strong guarantees that $f$ will be correct everywhere: for instance, your implementation $f$ might be correct on all but one input where it is special-cased to outputs the wrong answer.
More general cases
You might be interested in the theory of self-testing, pioneered by Blum, Luby, Rubinfeld and further developed by others.  See, e.g., the following seminal paper:
Self-Testing/Correcting with Applications to Numerical Problems.  Manual Blum, Michael Luby, Ronitt Rubinfeld.  Journal of computer and system sciences, 47(3), 549-595.
They generalize your idea by considering testers that invoke the program-under-test multiple times; by allowing probabilistic tests, where there is a chance we fail to notice problems, but this probability can be controlled or bounded; and by allowing for self-correction, where we use the possibly-faulty program as a subroutine to construct an output that will be correct with high probability.  Nonetheless, despite these generalizations, the class of functions that we know how to build efficient self-testers for is fairly limited, and we don't know how to do it for arbitrary functions.