# Problem

In China，there is an ancient mathematical book, called "The Mathematical Classic of Sun Zi"(《孙子算经》). In the book, there is a classic math problem: “今有物不知其数，三三数之剩二，五五数之剩三，七七数之剩二，问物几何？” 

Ahh, Sorry. I forgot that you don't know Chinese. Let's translate it to English:

There is a unkown positive integer `n`. We know: 

`n % 3 = 2`, and `n % 5 = 3`, and `n % 7 = 2`. 

What's the minimum possible positive integer `n`?

The correct answer is `23`.

# Task

You are given three non-negative integers `x,y,z`. They represent the remainders of the unknown positive integer `n` divided by 3,5,7.

That is: `n % 3 = x, n % 5 = y, n % 7 = z`

Your task is to find the minimum possible positive integer `n` and return it.

# Example

For `x = 2, y = 3, z = 2`, the output should be `23`

`23 % 3 = 2, 23 % 5 = 3, 23 % 7 = 2`

For `x = 1, y = 2, z = 3`, the output should be `52`

`52 % 3 = 1, 52 % 5 = 2, 52 % 7 = 3`

For `x = 1, y = 3, z = 5`, the output should be `103`

`103 % 3 = 1, 103 % 5 = 3, 103 % 7 = 5`

For `x = 0, y = 0, z = 0`, the output should be `105`

For `x = 1, y = 1, z = 1`, the output should be `1`

# Note

- `0 <= x < 3, 0 <= y < 5, 0 <= z < 7`

- Happy Coding `^_^`

Difficulty: introductory

Starter code:

def find_unknown_number(x,y,z):
	

Solutions:
def find_unknown_number(x,y,z):    
    return (x*70 + y*21 + z*15) % 105 or 105

def find_unknown_number(x,y,z):
    for i in range(1,1000):
        if i%3 == x and i%5 == y and i%7 == z:
                return i

def find_unknown_number(x,y,z):
    return min(set(range(x or 3, 106, 3)) & set(range(y or 5, 106, 5)) & set(range(z or 7, 106, 7)))

def find_unknown_number(x,y,z):
    for n in range(1, 99999999):
        if n % 3 == x and n % 5 == y and n % 7 == z:
            return n

def find_unknown_number(x,y,z):
    answer = 1
    i = 1
    n = 106
    
    while i < n:
        if i % 3 == x and i % 5 == y and i % 7 == z:
            answer = i
            break
        i = i + 1
    return answer

def find_unknown_number(x, y, z):
  return next(n for n in range(1, int(1e8)) if n%3 == x and n%5 == y and n%7 == z)

def find_unknown_number(x,y,z):
    #..
    n=0
    while True:
        n+=1
        a=n%3
        b=n%5
        c=n%7
        if a==x and b==y and c==z:
            return n

find_unknown_number = lambda *a: next(i for i in __import__("itertools").count(1) if all(i % x == a[j] for j, x in enumerate((3, 5, 7))))

def find_unknown_number(x, y, z):
    return 105 if (x + y + z == 0) else (set(range(x, 106, 3)) & set(range(y, 106, 5)) & set(range(z, 106, 7))).pop()

def find_unknown_number(x,y,z):
    r = z if z > 0 else 7
    while r % 3 != x or r % 5 != y or r % 7 != z:
        r = r + 7
        
    return r