Anonymous Voting

There is a 16-person committee that has to vote to approve a budget.

The members prefer to keep their votes anonymous. So they've adopted the following mathematical way to have every person vote Yes , vote No , or Abstain , while ensuring that all votes are kept secret.

We’ll call the chair A 1 A_1 and the other 15 members A 2 , A 3 , , A 16 A_2, A_3 , \ldots , A_{16} .

The chair takes a blank piece of paper, writes a large number, let's call it s , say s = 7923 s=7923 , on it, and passes this to A 2 A_2 .

Then A 2 A_2 adds V y = 17 V_y=17 for Yes , V n = 1 V_n=1 for No , or V a = 0 V_a=0 for Abstain . A 2 A_2 writes this sum on a new piece of paper, hands the new number to A 3 A_3 , and returns the paper with 7923 written on it back to the chair.

A 3 A_3 now has a piece of paper with either 7940 7940 (if A 2 A_2 voted Yes ), 7924 7924 (if A 2 A_2 voted No ), or 7923 (if A 2 A_2 abstained ). Because A 3 A_3 does not know the original number s s , there is no way for A 3 A_3 to know how A 2 A_2 voted.

This process continues with A 3 A_3 adding V y = 17 V_y=17 for Yes , V n = 1 V_n=1 for No , or V a = 0 V_a=0 for an abstention , and then passing the result to A 4 A_4 .

They continue until A 16 A_{16} gives a number to A 1 A_1 , who adds a number for A 1 A_1 ’s vote. Let’s say the final sum is 8050. The chair subtracts the secret number 7923 from 8050 and gets 127. Then since

127 = 7 × 17 + 8 , 127 = 7 \times 17 + 8,

the chair announces that 7 people voted Yes , 8 people voted No , and there was 1 abstention (since ( 7 + 8 ) (7 + 8) is one less than 16, one person must have abstained).

Let us say, "a triplet of non-negative integer ( p , q , r ) (p,q,r) works" , if this voting system works flawlessly for any integer s s with V y = p V_y=p , V n = q V_n=q and V a = r V_a=r . For instance, ( 17 , 1 , 0 ) (17,1,0) works.

Find the minimum positive integer value of p p when q = 801 q=801 and r = 3 r=3 such that ( p , q , r ) (p,q,r) works.

Bonus: Generalize this for m m number of members in the committee.


The answer is 1.

This section requires Javascript.
You are seeing this because something didn't load right. We suggest you, (a) try refreshing the page, (b) enabling javascript if it is disabled on your browser and, finally, (c) loading the non-javascript version of this page . We're sorry about the hassle.

1 solution

Alex Burgess
Mar 7, 2019

The smallest value possible for p p is 1 1 . It's easy to see this works, as A 1 A_1 subtracts the initial number to obtain x x . Then subtracts 16 = # V y + # V n + # V a 16 = \#V_y + \#V_n + \#V_a .

x 16 = 800 ( # V n ) + 2 ( # V a ) x - 16 = 800(\#V_n) + 2(\#V_a) which is easy to establish as # V a < 400 \#V_a < 400 .


Generalising the value of p p for q = 801 , r = 3 q = 801, r = 3 :

If m < 400 m < 400 , p = 1 p = 1 :

x m = 800 ( # V n ) + 2 ( # V a ) x - m = 800(\#V_n) + 2(\#V_a) , converting to base 800 800 and dividing the units by 2 2 gives the values of # V n \#V_n and # V a \#V_a .

# V y = m ( # V n + # V a ) \#V_y = m - (\#V_n + \#V_a) .


If 400 m < 799 , p = 2 400 \leq m < 799, p = 2 :

x 2 m = 799 ( # V n ) + ( # V a ) x - 2m = 799(\#V_n) + (\#V_a) , converting to base 799 799 gives the values of # V n \#V_n and # V a \#V_a .

# V y = m ( # V n + # V a ) \#V_y = m - (\#V_n + \#V_a) .


If 799 m , p = 798 m + 4 799 \leq m, p = 798m + 4 :

x 3 m = ( 798 m + 1 ) ( # V y ) + 798 ( # V n ) x - 3m = (798m + 1)(\#V_y) + 798(\#V_n) , converting to base 798 m + 1 798m + 1 and dividing the units by 798 798 gives the values of # V y \#V_y and # V n \#V_n .

# V a = m ( # V y + # V n ) \#V_a = m - (\#V_y + \#V_n) .

0 pending reports

×

Problem Loading...

Note Loading...

Set Loading...