# 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 `^_^`

Source: codewars | Difficulty: EASY

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(100000000.0)) 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