When revived by Orochimaru, the First and Second were sent to fight the Third, however, we know today that:


   The First beat one of the most powerful ninjas in history (me), could heal himself without activating any special jutsu, could summon a freaking chakra sucking tree dragon.


Moreover!


   The Second had known (invented!!) Edo Tensei (meaning he could have broken free of Orochimaru's control), he also knew space-time ninjutsu.


With those abilities, plus immortality, they couldn't have possibly lost against the Third at their full power.

So in that case, why didn't they use their full power against the Third? Their emotions should have been completely erased, and made into a strict killing machine, and nothing more.


Question: How many times do the two given curves intersect at the origin?
Answer: General approach

If {x0, y0} is a root of a polynomial system {p1, p2} such that there is no other root of the form {x0, y1}, the multiplicity is given by the multiplicity of the zero x0 of the resultant

Resultant[p1, p2, y]


We can compute the multiplicity of this zero with

SparseArray[
   CoefficientList[Resultant[p1, p2, y] /. x -&gt; x0 + u, u]
 ]["NonzeroPositions"][[1, 1]] - 1


If a root {x0, y0} lines up with another root {x0, y1}, a linear transformation of the variables can always be found so that moves all the other roots off the line x = x0.  So in principle, this method can be applied to any system.

OP's example

In the OP's case, the command can be simplified a little since x0 == 0:

SparseArray[
   CoefficientList[Resultant[y^4 + 6 x^3*y + x^8, y^2 - x^3, y], x]
 ]["NonzeroPositions"][[1, 1]] - 1
(*
  6
*)


Comparison

I assume the OP wants a method, not just the answer.  (The OP's is simple enough to do, plug in x^3 for y, in one's head after all.)  We compare the NSolve method and @belisarius's Solve method with the Resultant method.

My original method was to use NSolve, which seems to work although the docs do not promise that it will, like this if we add Count as @belisarius did:

Count[NSolve[{p1 == 0, p2 == 0}, {x, y}], {x -&gt; 0.`, y -&gt; 0.`}]


Generalizing @belisarius's answer, I would get something like

Count[Solve[p1 == 0 /. #, x, Reals] &amp; /@ Solve[p2 == 0, y] // Flatten, x -&gt; 0]


which indeed yields 6 on the OP's example.

A more difficult example

Now let's consider the system with y^2 replacing y in the second polynomial:

p = {y^4 + 6 x^3*y + x^8, y^2 - x^3};


The two solve-based methods give different answers:

Count[NSolve[p == {0, 0}, {x, y}], {x -&gt; 0.`, y -&gt; 0.`}]
(* 9 *)

Count[Solve[p[[1]] == 0 /. #, x, Reals] &amp; /@ Solve[p[[2]] == 0, y] // Flatten, x -&gt; 0]
(* 10 *)


One solution gets counted twice in the Solve method, I guess, because the Resultant method yields

SparseArray[CoefficientList[Resultant[p[[1]], p[[2]], y], x]]["NonzeroPositions"][[1, 1]] - 1
(* 9 *)


Failure on repeated x0 - and the workaround

If we add some factors to the OP's system so that {x, y} = {0, 1} is a root, all the current solutions fail to yield 6:

p = {(y^4 + 6 x^3*y + x^8) (x^2 + (y - 1)^2), (y - x^3) (y - 1)};

Count[NSolve[p == {0, 0}, {x, y}], {x -&gt; 0.`, y -&gt; 0.`}]
(* 3 *)

Count[Solve[p[[1]] == 0 /. #, x, Reals] &amp; /@ Solve[p[[2]] == 0, y] // 
  Flatten, x -&gt; 0]
(* 8 *)

SparseArray[CoefficientList[Resultant[p[[1]], p[[2]], y], x]]["NonzeroPositions"][[1, 1]] - 1
(* 8 *)


Edit: Actually NSolve gets close, literally.  Numerical error leads to three of the roots being slightly off:

Count[Chop[NSolve[p == {0, 0}, {x, y}], 10^-50], {x -&gt; 0, y -&gt; 0}]
(* 6 *)


One can also use the Resultant method by transforming the coordinates so that the root {0, 1} is moved off the line x = 0:

With[{p = p /. {x -&gt; x + y, y -&gt; y}},
 SparseArray[CoefficientList[Resultant[p[[1]], p[[2]], y], x]]["NonzeroPositions"][[1, 1]] - 1]
(* 6 *)


Simply switching x and y also works in this case.



Orginal answer -- NSolve gives the correct multiplicity in V10

NSolve will return the multiplicity, which turns out to be 6 in this case:

NSolve[{y^4 + 6 x^3*y + x^8 == 0, y - x^3 == 0}, {x, y}, Reals]
(*
  {{x -&gt; 0., y -&gt; 0.}, {x -&gt; 0., y -&gt; 0.}, {x -&gt; 0., y -&gt; 0.},
   {x -&gt; 0., y -&gt; 0.}, {x -&gt; 0., y -&gt; 0.}, {x -&gt; 0., y -&gt; 0.}}
*)


(I included a solution using Eliminate but it's not worth the space it would take up.)