Inserting digits to satisfy equation You are given 3 non negative numbers: \$x\$, \$y\$ and \$z\$, and must minimize the number of digits (non negative) inserted at any place in the numbers \$x\$, \$y\$, or \$z\$ to make
$$x + y = z$$
(a clarification: you can add any non negative digit any number of time at any place )
(you can assume that \$x\$, \$y\$, \$z\$ and your final integers after insertion won't overflow the integer limit in your language)
Example:
$$x=1, y=10, z=30$$
$$1 + 10 = 30  $$
$$1(0) +1(2)0 = (1)30$$
i.e \$10+120 = 130\$
The minimum insertions is 3 here.
$$x=1 , y=1 , z=3$$
$$1 + 1 = 3   $$
$$(3)1 + 1 = 3(2)   \;\text{or}\;   1 + 1(2) = (1)3$$
Here, the answer is 2.
$$x=11 , y=11 , z=33$$
$$11 + 11 = 33$$
$$11(2) + 1(2)1 = (2)33  \;\text{or}\;  1(2)1 + (2)11 = 33(2)$$
Here, the answer is 3.
$$x=3 , y=0 , z=0$$
$$3 + 0 = 0$$
$$3 + 0 = 0(3)$$
Here, the answer is 1,because as stated in earlier clarification, you can add any non negative digit any number of time at any place, so there can be leading zeroes too.
There can be multiple ways for same number of minimal insertion.
If possible while answering please write a short explanation of what you did. This is code-golf, so the shortest answer in bytes per language wins.
JavaScript (ES6), 164 bytes
Thanks to @l4m2 for identifying several bugs and suggesting the alternate version below

(x,y,z)=&gt;(F=k=&gt;(g=(k,s=z+`-${x}-`+y,n=9)=&gt;eval(s.replace(/\d+/g,'&quot;$&amp;&quot;'))?k&amp;&amp;[...s,0].some((_,i)=&gt;g(k-1,s.slice(0,i)+n+s.slice(i)))||n&amp;&amp;g(k,s,n-1):1)(k)?k:F(k+1))(0)

Try it online!
How?
We build the string s with the pattern z-x-y and recursively attempt to insert k additional digits until eval(s) is 0.
Commented
(x, y, z) =&gt; (                 // main function taking (x, y, z)
  F = k =&gt; (                   // F is a recursive function taking a counter k
    g = (                      // g is a recursive function taking:
      k,                       //   k = number of digits to insert
      s = z + `-${x}-` + y,    //   s = expression string &quot;z-x-y&quot;
      n = 9                    //   n = next digit to insert
    ) =&gt;                       //
    eval(s.replace(            // if the expression does not evaluate to 0:
      /\d+/g, '&quot;$&amp;&quot;'           // (add quotes to prevent any number with a
    )) ?                       // leading 0 to be parsed as octal)
      k &amp;&amp;                     //   if k is not equal to 0,
      [...s, 0].some((_, i) =&gt; //   for each position i from 0 to len(s):
        g(                     //     do a recursive call to g:
          k - 1,               //       decrement k
          s.slice(0, i) + n +  //       insert n at position i
          s.slice(i)           //       (and implicitly restart with n = 9)
        )                      //     end of recursive call
      ) ||                     //   end of some()
      n &amp;&amp;                     //   if n is not equal to 0:
        g(k, s, n - 1)         //     do a recursive call to g with n - 1
    :                          // else:
      1                        //   success
  )(k)                         // initial call to g with the current value of k
  ?                            // if successful:
    k                          //   return k
  :                            // else:
    F(k + 1)                   //   try again with k + 1
)(0)                           // initial call to F with k = 0


JavaScript (Node.js), 158 bytes
A slower but 6 bytes shorter variant suggested by @l4m2

(x,y,z)=&gt;(F=k=&gt;(g=(k,s=z+`-${x}-`+y,i=~s.length*-10)=&gt;k*i--?g(k-1,s.slice(0,t=i/10)+i%10+s.slice(t))|g(k,s,i):!eval(s.replace(/\d+/g,'&quot;$&amp;&quot;')))(k)?k:F(k+1))(0)

Try it online!