Actually Seokin, I believe that the equation that Dani is writing out is the following (in Mathematica)
(3*x^2*y[x] + 8*x*y[x]^2) + (x^3 + 8*x^2*y[x] + 12*y[x]^2) D[y[x], x] == 0
 And it appears that DSolve can handle this 
 In[1]:= DSolve[(3*x^2*y[x] + 
      8*x*y[x]^2) + (x^3 + 8*x^2*y[x] + 12*y[x]^2) D[y[x], x] == 0, 
  y[x], x]
 
 
 Out[1]= {{y[x] -> -(x^2/3) - (12 x^3 - 16 x^4)/(
     24 (9 x^5 - 8 x^6 + 27 C[1] + 
        3 Sqrt[3] Sqrt[
         x^9 - x^10 + 18 x^5 C[1] - 16 x^6 C[1] + 27 C[1]^2])^(1/3)) + 
    1/6 (9 x^5 - 8 x^6 + 27 C[1] + 
       3 Sqrt[3] Sqrt[
        x^9 - x^10 + 18 x^5 C[1] - 16 x^6 C[1] + 27 C[1]^2])^(
     1/3)}, {y[x] -> -(x^2/3) + ((1 + I Sqrt[3]) (12 x^3 - 16 x^4))/(
    48 (9 x^5 - 8 x^6 + 27 C[1] + 
       3 Sqrt[3] Sqrt[
        x^9 - x^10 + 18 x^5 C[1] - 16 x^6 C[1] + 27 C[1]^2])^(1/3)) - 
    1/12 (1 - I Sqrt[3]) (9 x^5 - 8 x^6 + 27 C[1] + 
       3 Sqrt[3] Sqrt[
        x^9 - x^10 + 18 x^5 C[1] - 16 x^6 C[1] + 27 C[1]^2])^(
     1/3)}, {y[x] -> -(x^2/3) + ((1 - I Sqrt[3]) (12 x^3 - 16 x^4))/(
    48 (9 x^5 - 8 x^6 + 27 C[1] + 
       3 Sqrt[3] Sqrt[
        x^9 - x^10 + 18 x^5 C[1] - 16 x^6 C[1] + 27 C[1]^2])^(1/3)) - 
    1/12 (1 + I Sqrt[3]) (9 x^5 - 8 x^6 + 27 C[1] + 
       3 Sqrt[3] Sqrt[
        x^9 - x^10 + 18 x^5 C[1] - 16 x^6 C[1] + 27 C[1]^2])^(1/3)}}
Note that the C[1] are the unknown arbitrary constants that would be determined by the initial condition (which were not supplied). Alson note that there are 3 solutions but that two of them are non-real generally. 
If, say, the initial condition was that y[0]==1 then the process process would read 
 In[13]:= DSolve[{(3*x^2*y[x] + 8*x*y[x]^2) + (x^3 + 8*x^2*y[x] + 12*y[x]^2) D[y[x], x] == 0, y[0] == 1}, y[x], x]
 
 
 Out[13]= {{y[x] -> (-3 x^3 + 4 x^4 - 
       2 x^2 (108 + 9 x^5 - 8 x^6 + 
          3 Sqrt[3] Sqrt[432 + 72 x^5 - 64 x^6 + x^9 - x^10])^(
        1/3) + (108 + 9 x^5 - 8 x^6 + 
         3 Sqrt[3] Sqrt[432 + 72 x^5 - 64 x^6 + x^9 - x^10])^(
       2/3))/(6 (108 + 9 x^5 - 8 x^6 + 
        3 Sqrt[3] Sqrt[432 + 72 x^5 - 64 x^6 + x^9 - x^10])^(1/3))}}
Which yields a single (generally real) solution.
If you wanted to plot this then you might do something like 
Plot[(-3 x^3 + 4 x^4 - 
    2 x^2 (108 + 9 x^5 - 8 x^6 + 
       3 Sqrt[3] Sqrt[432 + 72 x^5 - 64 x^6 + x^9 - x^10])^(
     1/3) + (108 + 9 x^5 - 8 x^6 + 
      3 Sqrt[3] Sqrt[432 + 72 x^5 - 64 x^6 + x^9 - x^10])^(
    2/3))/(6 (108 + 9 x^5 - 8 x^6 + 
      3 Sqrt[3] Sqrt[432 + 72 x^5 - 64 x^6 + x^9 - x^10])^(1/3)), {x, 
  1, 10}, PlotRange -> All]