Risolvi rispetto a x la seguente disequazione:
      k·x2 + 3·x - k2·x -3·k > 0

Dobbiamo capire come varia l'andamento di F: x → k·x2 + (3-k2)·x -3·k al variare di k.
Per k>0 ha per grafico una parbola con la concavità verso l'alto; quindi F(x)>0 quando  x<x1 o x>x2  essendo x1 e x2 le ascisse, in ordine di grandezza, delle intersezioni del grafico con l'asse x, ossia le soluzioni di F(x)=0.
Per k<0 ha per grafico una parbola con la concavità verso il basso; quindi F(x)>0 quando  x1<x<x2.
Per k=0 F(x) diventa 3x; il grafico diventa una retta con pendenza 3, e precisamente la retta y=3x; quindi F(x)>0 quando x>0.

 orange:  k = -2
red:  k = -1
green:  k = 0
blue:  k = 1

I grafici con
questo script.

Per trovare gli estremi degli intervalli dobbiamo ancora risolvere F(x)=0 quando k è diverso da 0:
x = ( k2-3 ± √( (3-k2)2+12k2 ) ) / (2k) = (k2-3 ± √k4+6k2+9)) / (2k) =
(k2-3 ± √((3+k2)2)) / (2k) = [in quanto 3+k2>0] (k2-3 ± (3+k2)) / (2k)
x = k OR x = -3/k.

Quindi per k>0 x1 = -3/k, x2 = k, e le soluzioni formano l'insieme (-∞,-3/k) U (k,∞).
Per k<0 x1 = k, x2 = -3/k, e le soluzioni formano l'insieme (k,-3/k).
Nota. Che k fosse una soluzione di F(x)=0 poteva essere subito dedotto (per il "teorema del resto") dalla osservazione che F(k) = k3+3k-k3-3k = 0. Eseguendo la divisone per x-k si poteva poi ottenere F(x) = (x-k)(kx+3).
Scritta F(x) in questo modo era possibile risolvere la disequazione così:
F(x)>0 se x-k e kx+3 sono entrambi positivi o entrambi nulli, ossia se …, ottenendo le stesse soluzioni.


Posso controllare rapidamente la risposta con WolframAlpha:
k*x^2 + 3*x - k^2*x - 3*k > 0
(x - k)*(k x + 3) > 0
k = 0, x > 0
k > 0, x > k
k > 0, x < -3/k
k < 0, k < x < -3/k


Con R:
source("http://macosa.dima.unige.it/r.R")
F <- function(x) k*x^2+(3-k^2)*x-3*k
x1 <- -3.5; x2 <- 3.5; y1 <- -20; y2 <- 30
BF=4; HF=3
Piano(x1,x2, y1,y2)
for (k in -3:3) grafico(F,x1,x2, k+4)
for (k in -3:3) text(k,25,k,col=k+4,font=2)