All about flooble | fun stuff | Get a free chatterbox | Free JavaScript | Avatars    
perplexus dot info

Home > Shapes > Geometry
All integers (Posted on 2005-01-17) Difficulty: 3 of 5
The sides of a trapezoid are 5, 8, 11, and 13, and its diagonals are also integer numbers; what are they?

See The Solution Submitted by Federico Kereki    
Rating: 4.5000 (2 votes)

Comments: ( Back to comment list | You must be logged in to post comments.)
Attempt at Computer Solution | Comment 1 of 14

The following program tries all six combinations of opposite sides being parallel: 5,8; 5,11; 5,13; 8,11; 8,13; and 11,13.  It tries for all integral diagonals where the diagonal from bottom left to top right is less than the total of the left and the top and also less than the total of the bottom and the right, and the diagonal from top left to bottom right is less than the total  of the top and right and also less than the total of the bottom and the left.

It uses the law of cosines to find the angle at the top, left and right respectively and uses that to find the altitude. If the two altitudes agree it is a trapezoid.  As the bottom is not used in the calculation, the overhang of the top is calculated on each side, as well as the sum of the overhang and the top, to get what the bottom would be.  The program doesn't seem to find any that match.  Here's the program:

DEFDBL A-Z
pi = ATN(1) * 4
DEF fnac (x) = ATN(SQR(1 - x * x) / x)
CLS
top = 8: bottom = 13: left = 5: right = 11
GOSUB findEm
top = 5: bottom = 13: left = 8: right = 11
GOSUB findEm
top = 8: bottom = 11: left = 5: right = 13
GOSUB findEm
top = 8: bottom = 5: left = 13: right = 11
GOSUB findEm
top = 5: bottom = 11: left = 8: right = 13
GOSUB findEm
top = 11: bottom = 13: left = 5: right = 8
GOSUB findEm
END

findEm:
FOR d1 = 1 TO top + left - 1
 csn = ((top * top + left * left - d1 * d1) / (2 * top * left))
 IF ABS(csn) > 1 AND ABS(csn) - 1 < .000001 THEN csn = 1
 IF d1 < bottom + right AND ABS(csn) <= 1 THEN
  IF csn = 0 THEN
   a = pi / 2
  ELSE
   a = fnac(csn)
  END IF
  alt1 = left * COS(a - pi / 2)
  a1 = a: cs1 = csn
  FOR d2 = 1 TO top + right - 1
   csn = ((top * top + right * right - d2 * d2) / (2 * top * right))
   IF ABS(csn) > 1 AND ABS(csn) - 1 < .000001 THEN csn = 1
   IF d2 < bottom + left AND ABS(csn) <= 1 THEN
    IF csn = 0 THEN
     a = pi / 2
    ELSE
     a = fnac(csn)
    END IF
    alt2 = right * COS(a - pi / 2)
    a2 = a: cs2 = csn
    r = alt1 / alt2
    IF ABS(r - 1) < .00000001# THEN
      o1 = left * SIN(a1 - pi / 2)
      o2 = right * SIN(a2 - pi / 2)
      b = top + o1 + o2
      PRINT USING "### ### ### ###    ### ###   ##.#####   ###.##### ###.#####    ###.######"; top; bottom; left; right; d1; d2; alt1; o1; o2; b
    END IF
   END IF
  NEXT
 END IF
NEXT
RETURN

with the results

top "bot"left rt    d1  d2    alt       left over  rt over     calc bottom
  8   5  13  11      9   9    8.87412    -9.50000  -6.50000     -8.000000
  8   5  13  11     11  13   10.95445    -7.00000  -1.00000      0.000000
 11  13   5   8      8   5    3.33278    -3.72727  -7.27273      0.000000

The purported bottom is not used in the calculation, but the bottom is calculated (rightmost column) based on the top and the two overhangs.  But in the three instances found the bottom is calculated to be negative or zero, rather than the supposed bottom length.

Perhaps there's a bug in my program.

 

Edited on January 17, 2005, 5:32 pm
  Posted by Charlie on 2005-01-17 17:26:41

Please log in:
Login:
Password:
Remember me:
Sign up! | Forgot password


Search:
Search body:
Forums (0)
Newest Problems
Random Problem
FAQ | About This Site
Site Statistics
New Comments (3)
Unsolved Problems
Top Rated Problems
This month's top
Most Commented On

Chatterbox:
Copyright © 2002 - 2017 by Animus Pactum Consulting. All rights reserved. Privacy Information