Excluding some parameter regions from the plot

I am plotting the numerical solutions of the following

eq[α_, k_, x_] := Sin[k + α] + k Sin[k] == x*Cos[k]
y = sol[x_?NumericQ, k_ /; 0 <= k <= Pi] := α /.
NSolve[{eq[α, k, x], 0 <= α <= Pi}, α, Reals]
Manipulate[ContourPlot[Evaluate[eq[α, k, x]], {α, 0, Pi}, {k, -Pi, Pi}],
{{x,1}, 0, 10, .01}]

There are regions where I have two solutions and regions where I have one e.g., sol[1, 0.1] returns two solutions, sol[2,0.1] has no solution, sol[0.1,0.1] has one solution and so on. Is it possible to exclude say two solutions regime say sol[1, 0.1] i.e., excluding x=1,k=0.1 and plotting for the rest of the parameters, and is it also implementable to exclude more than one such parameter ranges e.g., sol[1,0.1],sol[1,0.2]?

• Check out plotting the followig function over x ans k: sol[x_?NumericQ, k_ /; 0 <= k <= Pi] := With[{sols = NSolve[{eq[\[Alpha], k, x], 0 <= \[Alpha] <= Pi}, \[Alpha], Reals]}, If[Length[sols] == 1, \[Alpha] /. NSolve[{eq[\[Alpha], k, x], 0 <= \[Alpha] <= Pi}, \[Alpha], Reals], {}] ] with Plot3D[sol[x, k], {k, -Pi, Pi}, {x, 0, 2}]. Is that whay you want? Aug 29 '18 at 11:34
• @HenrikSchumacher this is perfect, Thanks. It allows to consider only specific solutions with the Length command. Do I need to also care about the parameter range with this command? like e.g., plotting for x=0 to x=2 with Length[sols] == 1 and Length[sols] == 2 will automatically pick up the relevant solutions to plot even if in some ranges there are no solutions satisfying this condition, like sol[2,0.1] has no solution so this did not return any error.
– AtoZ
Aug 30 '18 at 4:11