Problem Statement
You are given three ints a, b, and c. Find an integer y between 0 and 999,999,999, inclusive, such that P(y) is divisible by one billion. If there are multiple solutions, return any. If there is no solution, return -1 instead.
Definition
- Class:
- PolynomialRemainder
- Method:
- findRoot
- Parameters:
- int, int, int
- Returns:
- int
- Method signature:
- int findRoot(int a, int b, int c)
- (be sure your method is public)
Constraints
- a, b, and c will be between 0 and 999,999,999, inclusive.
Examples
0
0
0
Returns: 0
P(x) = 0 for all x. Any integer between 0 and 999,999,999, inclusive, will be accepted.
0
0
1
Returns: -1
P(x) = 1 for all x, so there is no solution.
1
2
3
Returns: -1
We can prove that there is no solution in this case.
123456000
789012345
678901230
Returns: 121618466
P(x) = 123456000x^2 + 789012345x + 678901230. P(121618466) = 1826044121818350000000000.
479659453
928595613
143451144
Returns: 647373336
397035859
289524539
485403580
Returns: 61353099
664587627
474703131
762214376
Returns: -1
568226500
870969194
923620667
Returns: -1
580649521
511688818
886575430
Returns: -1
205273790
955621011
748811040
Returns: 797331360
24187291
794786035
296778200
Returns: -1
4055675
753626012
995950118
Returns: -1
791731198
814823286
54355988
Returns: -1
200742480
630015891
293671351
Returns: 409352259
56436519
843728370
943926465
Returns: -1
743175238
616432270
923134689
Returns: -1
722064508
970806688
285525111
Returns: -1
701710629
12117187
788000849
Returns: -1
154660458
19622006
287060055
Returns: -1
866652967
419335728
730760543
Returns: -1
46716653
932359659
878830965
Returns: -1
63484204
319155027
718666245
Returns: 258893365
815095973
594872724
142383283
Returns: -1
14146120
256006856
620108755
Returns: -1
152512737
226200316
345158147
Returns: -1
803896553
351130383
663734824
Returns: 227421928
966511952
12731715
957600394
Returns: -1
41018964
806615777
320142640
Returns: 153756880
85598013
288420605
885391414
Returns: -1
391782117
88909433
297389953
Returns: -1
923657703
716501024
157955159
Returns: -1
595300708
307250752
948487294
Returns: -1
896574010
387049656
535777268
Returns: -1
499352137
746162590
4564886
Returns: -1
501966299
466181394
200166104
Returns: -1
561034996
313671384
128522048
Returns: 59003944
28680206
134570545
740110196
Returns: 391388268
125397091
836421721
925263308
Returns: 143090761
199699873
562195855
19768222
Returns: 347445314
54110566
375671318
648787940
Returns: 15679057
41025349
864982782
889816125
Returns: 58894857
301344822
395693778
944947616
Returns: 152362117
879578642
165548970
902043472
Returns: 434142392
595016638
929245561
743237871
Returns: 365636187
405125058
165933423
265513975
Returns: 274660425
677546903
102899760
563268937
Returns: 333502151
17171146
552615966
606171384
Returns: 142126092
960664401
171440072
959537996
Returns: 3574334
96241930
110216420
770173040
Returns: 35969562
914616949
711489056
46300067
Returns: 933319827
109917771
173451586
58923744
Returns: 4207632
632010414
436100328
134825818
Returns: 330787341
926030782
798478188
44198998
Returns: 55942673
458196070
130683647
613929074
Returns: 811615818
364501855
283510869
830501846
Returns: 254537046
591368688
887703179
87676283
Returns: 22428511
685492444
267982479
293880552
Returns: 14633576
316039259
869830300
469157369
Returns: 645794947
518242835
637865632
759439220
Returns: 363572290
148170679
632431608
992766900
Returns: 516595798
642632540
671651510
3605360
Returns: 1058008
699767804
84511694
902921022
Returns: 5525173
60532153
374332143
122977094
Returns: 764687978
872642999
48286746
216903715
Returns: 587001435
294139195
466889179
300112816
Returns: 90725616
0
456789443
872459689
Returns: 477632477
0
335978461
976772966
Returns: 535389794
0
791813823
827684392
Returns: 773088296
0
755104081
15674713
Returns: 370347127
0
887335088
89815630
Returns: -1
0
620827846
770004650
Returns: 120755225
0
653465642
494457562
Returns: 864287239
0
982516380
589676486
Returns: -1
0
105822344
90685076
Returns: -1
0
558203203
974556800
Returns: 830454400
120675000
159925875
924625000
Returns: 1429000
457600000
85156250
323126750
Returns: -1
320000000
285300000
422933600
Returns: -1
587375000
416600000
46515000
Returns: -1
235624348
468800000
276800000
Returns: -1
324375000
557812500
927295960
Returns: -1
450000000
218750000
578400000
Returns: -1
809050000
674332400
642618912
Returns: -1
263250000
244800000
856000000
Returns: 161280
624480000
916088000
0
Returns: 0
750000000
105468750
500000000
Returns: 128
795841024
166368625
441600000
Returns: -1
740000000
296604800
808403125
Returns: -1
84044800
217343750
35556000
Returns: -1
63511250
558067200
287500000
Returns: 3562500
875000000
739800000
656085000
Returns: -1
725000000
207336000
438300850
Returns: -1
922656250
724800000
488750000
Returns: -1
245312500
631504875
695836800
Returns: -1
380800000
628906250
375000000
Returns: 10400
600000000
894625000
63923000
Returns: -1
475000000
828687500
556608000
Returns: -1
920000000
632633600
509095125
Returns: -1
812500000
428181248
29000000
Returns: -1
575312500
450900000
858371875
Returns: -1
330200000
984375000
0
Returns: 0
118208000
783280800
174960000
Returns: 2551300
509765625
766400000
884156250
Returns: -1
682624000
528500000
305543280
Returns: -1
833184000
588374250
343562500
Returns: 5670598
566025120
0
365450240
Returns: -1
12500000
264843750
398400000
Returns: -1
685338752
979374448
579840000
Returns: 161920000
790160640
32041250
701616000
Returns: 10187840
844000000
877172800
843430800
Returns: -1
187500000
857888000
319279000
Returns: -1
193760000
694800000
343750000
Returns: -1
500000000
282190000
0
Returns: 0
843750000
320000000
467910625
Returns: -1
875000000
400000000
8724830
Returns: -1
869687500
431863624
139907793
Returns: -1
276500000
49548800
63750000
Returns: -1
43500000
135000000
278125000
Returns: -1
652000000
909723136
230461696
Returns: 462732289
123981000
187500000
671056800
Returns: -1
452102800
12000000
443742000
Returns: -1
531250000
963095480
150000000
Returns: 138750000
828891000
293120000
875000000
Returns: -1
112670720
696087500
125000000
Returns: 170000
487744000
127200000
459552000
Returns: -1
0
1
1
Returns: 999999999
0
999999999
1
Returns: 1