The solution to this puzzle is one I came up with when working on this puzzle: https://puzzling.stackexchange.com/questions/121174/what-is-the-answer-of-this-math-puzzle

For two natural numbers `a,b`, can you figure out how `a#b` is defined, going from the following examples?

```
2#0 = 10
2#2 = 2
2#16 = 8
3#3 = 3
4#9 = 3
5#5 = 5
5#11 = 7
5#17 = 9
6#13 = 7
9#12 = 12
9#16 = 16
10#3 = 7

8#8=2
13#13=19

9#4=2

3#0=10
4#0=10

0#6=2
0#7=3

1000#1000=3000

0#5=5
0#8=2
0#12=4

5#23=3
5#31=3

0#0=2

52#3=3
53#1=3

41#43 = 3
43#41 = 3

1#0 = 10
5#0 = 10
```

Following this rule, work out `3#19`.

---

This is a mathematical puzzle, i.e., all numbers actually represent numbers and not letters of the alphabet. Also for the input the numerical value of the inputs and their representation (i.e., the base in which they are writen in) are relevant, not the number of holes, its English name or anything like that. Programming and similar technical help can help, but is not required.

---

If it takes a while until it is solved, I would like to make this puzzle a bit more interactive. Instead of (or in addition to) giving hints, I will provide more examples on some of your suggested inputs that you think will help you find the pattern.

---

(The missing hints are the examples that have been added to the list of examples above)

Hint #5:

>! `a#b` is always valid. However, there _may_ be cases where one could argue it is a bit ambiguous. I haven't seen such cases yet, but also couldn't rule out that they exist.

Hint #7:

>! While it should be possible to write `a#b` as a single function, it is much easier and more intuitive to think of it as a procedure that takes the inputs and performs some algorithmic steps.

Hint #10:

>! There are no explicit "magic constants" involved (e.g., divide by 3). Someone mathematically interested might however argue that there is one implicit constant involved.

Hint #11:

>! `0x2#0x2=2`

>! `0xF#0xF=3`, however `15#15=5` (which should clarify the last hint)

Hint #12:

>! Hint #5, that `a#b` is always valid, was meant for base 10 when I added it. Now with people exploring other bases I should say that there is one base for which `a#b` may be ambiguous. In fact (if a certain conjecture holds) there are infinitely many inputs for which `a#b` is potentially undefined in that base. As far as I can tell (no guarantees on this) in other bases `a#b` is always valid.

Hint #13:

>! The operator utilizes concatenation.

Hint #16:

>! The observations made by theozh and tehtmi - specifically that the result is divisible by 2 and/or 5 iff `b` is divisible by 2 and/or 5 - holds in general (in base 10).

Hint #17:

>! This hint might have been really helpful, but I spilled my drink on my notepad and now it's unreadable because of a coffee smudge :/

Hint #18:

>! "The operator is in the best form of its life. It is a hunter and nothing stands in its way. If anything, it stands in the way of its prey. And it only takes out only the biggest prey - size is the only factor."

Hint #19:

>! It is impossible to get 0 as a result. Whether getting 1 as a result is possible is a bit ambiguous (this is what hint #5 refers to) and depends on how you define a certain edge case. But if you choose to define this edge case as 1 (which is mathematically reasonable) it can only happen in base-2, e.g. `0b1#0b1=1` and `0b100#0b1=1`.