Statistics

Problem Statement for "QuadraticEquations"

Problem Statement

Young Andrew has just learned about quadratic equations. He was quite amazed by the fact that their solutions could look like (5+sqrt(3))/4, so he wants to dig into this issue. More specifically, given five numbers x, y, d, z and k, he wants to find the number of equations a*t2+b*t+c=0 such that (x+y*sqrt(d))/z is a solution of the equation (i.e., when substituting it for t the equation holds) and a, b and c are integers, -k <= a, b, c <= k. Notice that the equations he's looking for are not necessarily quadratic, i.e., a is allowed to be zero, as is b and/or c.

Definition

Class:
QuadraticEquations
Method:
howMany
Parameters:
int, int, int, int, int
Returns:
long
Method signature:
long howMany(int x, int y, int d, int z, int k)
(be sure your method is public)

Constraints

  • x, y and z will be between -1000 and 1000, inclusive.
  • z will not be equal to 0.
  • d will be between 1 and 1000, inclusive.
  • k will be between 0 and 1000000 (106), inclusive.

Examples

  1. 5

    1

    3

    4

    30

    Returns: 3

    The three possible equations are: 0*x2+0*x+0=0, 8*x2-20*x+11=0, -8*x2+20*x-11=0

  2. 5

    1

    3

    4

    10

    Returns: 1

    The equation 0*x2+0*x+0=0 always holds.

  3. 2

    0

    1

    1

    2

    Returns: 7

    The value described is simply 2. The equations are 0*x2+0*x+0=0, 0*x2+1*x-2=0, 0*x2-1*x+2=0, 1*x2-1*x-2=0, -1*x2+1*x+2=0, 1*x2-2*x+0=0, -1*x2+2*x+0=0.

  4. 0

    -1

    4

    -1

    2

    Returns: 7

    It is still 2.

  5. -1

    3

    3

    2

    1000000

    Returns: 153847

  6. 2

    0

    1

    3

    5

    Returns: 11

  7. 0

    1

    2

    1000

    574891

    Returns: 3

  8. 1

    1

    2

    1000

    454739

    Returns: 1

  9. 1

    1

    2

    1000

    0

    Returns: 1

  10. 1

    -1

    2

    1000

    480019

    Returns: 1

  11. 0

    1

    2

    100

    574891

    Returns: 229

  12. 1

    1

    2

    100

    454739

    Returns: 91

  13. 1

    1

    2

    100

    0

    Returns: 1

  14. 1

    -1

    2

    100

    480019

    Returns: 97

  15. 0

    0

    1

    57

    1000000

    Returns: 4000004000001

  16. 0

    0

    1

    1

    0

    Returns: 1

  17. 5

    -1

    25

    999

    968900

    Returns: 3755072715601

  18. -1000

    -1000

    1000

    1

    459595

    Returns: 1

  19. 1

    0

    1

    1000

    224116

    Returns: 201385

  20. 0

    -5

    4

    3

    43665

    Returns: 76266163

  21. 12

    -5

    49

    9

    75185

    Returns: 42738053

  22. 64

    -437

    208

    850

    1000000

    Returns: 1

  23. 108

    -467

    96

    569

    1000000

    Returns: 1

  24. -966

    -286

    686

    661

    1000000

    Returns: 1

  25. 0

    -5

    9

    2

    1

    Returns: 1

  26. -35

    46

    16

    96

    149

    Returns: 7

  27. -49

    -48

    8

    -88

    16031

    Returns: 3

  28. -733

    672

    169

    790

    27

    Returns: 1

  29. 4

    -39

    76

    -10

    741758

    Returns: 257

  30. -996

    -746

    211

    775

    6238

    Returns: 1

  31. -6

    0

    1

    -8

    670279

    Returns: 105818531049

  32. -603

    734

    841

    -341

    267855

    Returns: 643

  33. -10

    0

    9

    7

    411005

    Returns: 6579236979

  34. 53

    19

    99

    -44

    197580

    Returns: 25

  35. 9

    0

    6

    10

    252

    Returns: 2145

  36. 98

    -8

    17

    -14

    826052

    Returns: 777

  37. 531

    -114

    784

    969

    694057

    Returns: 2449157

  38. -842

    -906

    409

    533

    1000000

    Returns: 1

  39. 6

    -1

    7

    -9

    6804

    Returns: 127

  40. -2

    2

    5

    -4

    247791

    Returns: 495583

  41. 9

    2

    6

    8

    961

    Returns: 13

  42. 731

    -767

    256

    327

    788390

    Returns: 167641

  43. -469

    497

    961

    855

    14937

    Returns: 1

  44. 530

    195

    484

    245

    355484

    Returns: 543555

  45. 1

    -5

    3

    1

    73

    Returns: 1

  46. 95

    -16

    53

    -34

    19379

    Returns: 5

  47. -12

    37

    12

    -51

    569940

    Returns: 211

  48. 26

    35

    100

    -53

    928232

    Returns: 24375979

  49. -8

    -4

    9

    5

    1787

    Returns: 798119

  50. -6

    0

    9

    -3

    1

    Returns: 1

  51. 499

    -841

    875

    -170

    1000000

    Returns: 1

  52. 97

    35

    6

    71

    440186

    Returns: 4539

  53. 47

    -42

    64

    87

    203064

    Returns: 1974433

  54. 769

    -962

    361

    -218

    536239

    Returns: 3723

  55. 9

    2

    1

    4

    799483

    Returns: 21129767463

  56. 84

    37

    81

    -64

    416

    Returns: 1

  57. 19

    -15

    76

    -45

    870427

    Returns: 103

  58. -898

    229

    841

    -754

    580495

    Returns: 41039

  59. -4

    4

    7

    -9

    3

    Returns: 1

  60. -444

    232

    256

    -356

    670631

    Returns: 2694017

  61. 276

    946

    255

    -883

    94

    Returns: 1

  62. 60

    -5

    267

    -928

    861184

    Returns: 3

  63. -449

    756

    576

    250

    7027

    Returns: 9

  64. 76

    17

    31

    100

    3215

    Returns: 1

  65. -9

    0

    3

    -9

    546383

    Returns: 895604787217

  66. -148

    -531

    163

    -685

    1000000

    Returns: 1

  67. -3

    -2

    3

    2

    767084

    Returns: 127847

  68. -7

    -3

    4

    6

    386059

    Returns: 3527574135

  69. -343

    -96

    625

    -780

    103762

    Returns: 966809

  70. 0

    1

    2

    1

    575757

    Returns: 575757

  71. 0

    1

    3

    -1

    1000000

    Returns: 666667

  72. 0

    0

    2

    1

    1000000

    Returns: 4000004000001

  73. 1

    4

    9

    49

    100000

    Returns: 16657225

  74. 0

    0

    2

    1

    1000

    Returns: 4004001

  75. 4

    -4

    1

    10

    100

    Returns: 40401

  76. 1

    5

    25

    39

    1000000

    Returns: 439815296297

  77. -1

    3

    3

    2

    1000000

    Returns: 153847

  78. 1

    1

    1

    3

    1000000

    Returns: 439815296297

  79. 0

    0

    1

    1

    1000000

    Returns: 4000004000001

  80. -100

    -233

    121

    -99

    1000000

    Returns: 564025

  81. 1

    -1

    1

    1

    1000000

    Returns: 4000004000001

  82. 5

    0

    3

    2

    77

    Returns: 961

  83. 17

    3

    19

    14

    89528

    Returns: 753


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2024, TopCoder, Inc. All rights reserved.
This problem was used for: