Consider a non constant polynomial $f:\Bbb R^n\to \Bbb R$. Let $S_f\subset \Bbb R^n$ be its solution set i.e. the set of $x\in \Bbb R^n$ such that $f(x)=0$. What's the slickest proof that $S$ can't contain any ball, or equivalently, $S_f^c$ is open and dense?
My try:
let $r_0$ be such that $f(r_0)=0$. Then consider the new polynomial $g(x)=f(x+r_0)$. If $B_\epsilon(r_0)\subset S_f$, then $B_\epsilon(0)\subset S_g$. Also, $g$ is non constant.
Clearly $g$ doesn't have a constant term. Now, if $g$ is homogeneous, by which I mean all of $g$'s term are of the same order $k$. Then, for any $x\in\Bbb R^n$, find $L>0$ so that $\|y\|/L<\epsilon$, then $g(y/L)=0$, so $g(y)=g(y/L)L^k=0$, contradicting the fact that $g$ is non constant.
If $g$ is not homogeneous, we consider the following two cases:
A) in each term in $g$, $x_1,\cdots,x_n$ all appear. This indicates all terms have a common factor in the form $c(x)=(x_1\cdots x_n)^p$ such that $g(x)=c(x)h(x)$ where in at least one term in $h(x)$, not all $x_1,\cdots,x_n$ are présent. (A way to do this is keep factorising out $(x_1\cdots x_n)$ till you can do it no more.) As such, $S_g^c=S_h^cS_c^x$, but it's easy to show $S_c^c$ is open and dense, so by Baire's Theorem it suffices to show $S_h^c$ is open and dense, or $S_h$ doesn't contain any ball. So we just repeat the initial discussion i.e. consider a new polynomial $h(x+r_1)$ (we can't directly jump to the next case since $h$ may contain the constant term). Note that, there may be several cycles, but ultimately we can only visit case A) finitely many times, since each time we visit case A) we come to consider a polynomial of strictly lower order than previously. Hence, we must eventually arrive at the next case;
B) there's at least one term in $g$ in which there's at least one variable, say $x_k$, which is absent. Thus, we fix $x_k=0$, and $g$ becomes a non-zero polynomial in fewer variables.
I find the striked arguments futile.
In fact I also tried to generalise the linear scaling argument to non homegeneous cases, i.e. assigning different scaling rates to different variables, but was quickly disappointed to find it wouldn't work for even the univariable case say $x^3+x^2+x$.
Yet another attempt (the striked part) I made was try to select a suitable variable and fix all the other variables equal to $0$ to obtain a univariable non-zero polynomial (pretty much like choosing a suitable coordinate axis to move around on). Since this would make the new polynomial vanishes in a while short segment about zero on the real line, we get a contradiction. However, this was unable to deal with cases like $x_1x_2+x_2x_3+x_1x_3$ where no such suitable axis exists.
Really need some Enlightenment now. Thanks. PS: absolutely no background in algebraic geometry.