# Find the missing digit x from the given expression

Given an alphanumeric string, consisting of a single alphabet **X**, which represents an expression of the form:

A operator B = C

where A, B and C denotes integers and the operator can be either of +, -, * or /

The task is to evaluate the missing digit **X **present in any of the integers A, B and C such that the given expression holds to be valid.

**Examples:**

Input:S = “3x + 12 = 46”Output:4Explanation:

If we subtract 12 from 46, we will get 34.

So, on comparing 3x and 34. the value of x = 4

Input:S = “4 – 2 = x”Output:2Explanation:

After solving the equation, the value of x = 2.

**Approach:** Follow the steps below to solve the problem:

- Split the string to extract the two operands, operator and the resultant.
- Check if X is present in the resultant or not. If so, then compute the value of the resultant by applying operations on the first operand and second operand with the operator.
- Otherwise, if X is not present in the resultant. Then check if X is present in the first operand. If so, then apply the operation on the second operand and resultant with the operator.
- Otherwise, if X is not present in the first operand also. Then check if X is present in the second operand. If so, then apply the operation on the first operand and resultant with the operator.

Below is the implementation of the above approach:

## Python3

`# Python3 program to find missing` `# digit x in expression` ` ` ` ` `def` `MissingDigit(exp):` ` ` ` ` `# Split the expression to` ` ` `# extract operands, operator` ` ` `# and resultant` ` ` `exp ` `=` `list` `(exp.split())` ` ` ` ` `first_operand ` `=` `exp[` `0` `]` ` ` `operator ` `=` `exp[` `1` `]` ` ` `second_operand ` `=` `exp[` `2` `]` ` ` `resultant ` `=` `exp[` `-` `1` `]` ` ` ` ` `# If x is present in resultant` ` ` `if` `'x'` `in` `resultant:` ` ` `x ` `=` `resultant` ` ` `first_operand ` `=` `int` `(first_operand)` ` ` `second_operand ` `=` `int` `(second_operand)` ` ` ` ` `if` `operator ` `=` `=` `'+'` `:` ` ` `res ` `=` `first_operand ` `+` `second_operand` ` ` `elif` `operator ` `=` `=` `'-'` `:` ` ` `res ` `=` `first_operand ` `-` `second_operand` ` ` `elif` `operator ` `=` `=` `'*'` `:` ` ` `res ` `=` `first_operand ` `*` `second_operand` ` ` `else` `:` ` ` `res ` `=` `first_operand ` `/` `/` `second_operand` ` ` ` ` `# If x in present in operands` ` ` `else` `:` ` ` ` ` `resultant ` `=` `int` `(resultant)` ` ` ` ` `# If x in the first operand` ` ` `if` `'x'` `in` `first_operand:` ` ` ` ` `x ` `=` `first_operand` ` ` `second_operand ` `=` `int` `(second_operand)` ` ` ` ` `if` `operator ` `=` `=` `'+'` `:` ` ` `res ` `=` `resultant ` `-` `second_operand` ` ` `elif` `operator ` `=` `=` `'-'` `:` ` ` `res ` `=` `resultant ` `+` `second_operand` ` ` `elif` `operator ` `=` `=` `'*'` `:` ` ` `res ` `=` `resultant ` `/` `/` `second_operand` ` ` `else` `:` ` ` `res ` `=` `resultant ` `*` `second_operand` ` ` ` ` `# If x is in the second operand` ` ` `else` `:` ` ` ` ` `x ` `=` `second_operand` ` ` `first_operand ` `=` `int` `(first_operand)` ` ` ` ` `if` `operator ` `=` `=` `'+'` `:` ` ` `res ` `=` `resultant` `-` `first_operand` ` ` `elif` `operator ` `=` `=` `'-'` `:` ` ` `res ` `=` `first_operand ` `-` `resultant` ` ` `elif` `operator ` `=` `=` `'*'` `:` ` ` `res ` `=` `resultant ` `/` `/` `first_operand` ` ` `else` `:` ` ` `res ` `=` `first_operand ` `/` `/` `resultant` ` ` ` ` `res ` `=` `str` `(res)` ` ` `k ` `=` `0` ` ` `for` `i ` `in` `x:` ` ` `if` `i ` `=` `=` `'x'` `:` ` ` `result ` `=` `res[k]` ` ` `break` ` ` `else` `:` ` ` `k ` `=` `k ` `+` `1` ` ` ` ` `return` `result` ` ` ` ` `# Driver Code` `if` `__name__ ` `=` `=` `'__main__'` `:` ` ` `# input expression` ` ` `exp ` `=` `"3x + 12 = 46"` ` ` ` ` `print` `(MissingDigit(exp))` |

**Output:**

4

**Time Complexity:** O(L), where is the length of the equation.**Auxiliary Space:** O(1)