Dagens Teori 1.1 Talteori 1.1.1 Några olika talmängder Definition 1 Heltal kallas de tal som ingår i mängden Z = {. . . , −3, −2, −1, 0, 1, 2, 3, . . .} Definition 2 Naturliga tal kallas de tal som ingår i mängden N = {0, 1, 2, 3, . . .} Ibland definieras de naturliga talen som mängden {1, 2, 3, . . .}, som nog kan betraktas som ännu mer naturligt. Vi håller oss dock till den första definitionen. Definition 3 De rationella talen är reella tal som kan skrivas som ab , där a och b är heltal med b 6= 0. Exempel 1 Dessutom finns √ mängden av irrationella tal. Dessa tal är varken naturliga tal, heltal eller rationella tal. 2 är ett irrationellt tal. Att detta tal inte är ett heltal inser vi direkt, men kan det inte skrivas som ett rationellt tal? Så här bevisar man att √ a 2 6= b för några heltal a och b. √ Vi startar med att anta motsatsen, alltså att 2 är ett rationellt tal. Då kan det skrivas som √ 2 = ab , där a och b 6= 0 är heltal. Då gäller a2 b2 Vi kan dessutom förutsätta att a och b inte har några gemensamma faktorer, eftersom ab då skulle kunna förkortas. Vi skriver nu ekvationen på formen 2b2 = a2 . Nu är varje heltal antingen jämnt eller udda. Alla udda tal kan skrivas som 2m + 1. Eftersom kvadraten på ett udda tal (2m + 1)2 = 4m2 + 1 + 4m = 2(2m2 + 2m) + 1 är udda följer att a måste vara jämnt. Då kan vi skriva a = 2c och a2 = 4c2 . Vi får 2b2 = 4c2 eller b2 = 2c2 . På samma sätt kan vi härifrån visa att också b är jämnt. Eftersom vi visat att både a och b måste var jämna √ skulle bråket kunna förkortas med 2, vilket är en motsägelse och därför är 2 irrationellt. 2= Denna typ av bevis kallas indirekt bevis eller bevis ad absurdum. Håkan Strömberg 1 KTH STH 1.1. TALTEORI 1.1.2 Heltalsdivision Definition 4 Om a och b är naturliga tal och vi kan skriva a = qb + r för icke negativa heltal q och r och där dessutom 0 ≤ r < b, så kallar vi q för kvoten och r för resten när a divideras med b. Till exempel Exempel 2 Då a = 23 och b = 5 är q = 4 och r = 3. q och r kan inte anta några andra värden så länge 0 ≤ r < b. Vi kan då fastslå att Sats 1 För givet a och b ger heltalsdivisionen unika värden på kvoten q och resten r 1.1.3 Delbarhet Du vet säkert vad som menas med att ett tal är delbart med ett annat. Definition 5 Heltalet n är en delare till heltalet m, om det finns ett heltal q, så att m = q · n. Vi säger, att m är delbart med n eller att m är en multipel av n. Vi skriver då n | m. Om n inte är en delare till m skriver vi istället n ∤ m. Exempel 3 7 är en delare till 84 eftersom 84 = 7 · 12. Normalt tar vi reda på om n är en delare till m genom att dividera m med n och se om resten blir 0. Om dividerar 92 med 7 får vi kvoten 13 och resten 1 och vi kan skriva 7 ∤ 92. Delbarhetskriterier. Vi vet att alla heltal n, vars sista siffra är 0 eller 5 har 5 som delare. Det finns delbarhetskriterier även för andra tal är 5. Här listar vi några som möjligtvis kan vara bra att känna till 2 Heltalet m är delbart med 2 då sista siffran är delbar med 2. 3 Heltalet m är delbart med 3 då talets siffersumma är delbar med 3. Talet 123456 har siffersumma 1 + 2 + 3 + 4 + 5 + 6 = 21 som är delbar med 3, 21 = 3 · 7. 4 Heltalet m är delbart med 4 då talet som bildas av de två sista siffrorna är delbart med 4. Alltså är 234567724 delbart med 4. 5 Heltalet m är delbart med 5 då talets sista siffra är 0 eller 5. 6 Heltalet m är delbart med 6 då det är delbart med 2 och 3 enligt respektive kriterier ovan. 7 Heltalet m är delbart med 7 då följande gäller. Stryk entalssiffran s och och subtrahera 2 · s från det som återstår av talet m. Är det tal vi nu får delbart med 7 är också talet m delbart med 7. Denna regel kan användas iterativt, upprepat. Vi tar ett exempel: Är 472724 delbart med 7? I första steget får vi 47272 − 8 = 47264, andra 4726 − 8 = 4718, tredje 471 − 16 = 455 och sista 45 − 10 = 35. Ingen effektiv metod precis, som har tagits med för att göra listan fullständig. Håkan Strömberg 2 KTH STH 8 Heltalet m är delbart med 8 då det tal som bildas av talets tre sista siffror är delbart med 8. Talet 1231346816 är delbart med 8 eftersom vi enkelt kan se att 816 är delbart med 8. 9 Heltalet m är delbart med 9 då talets siffersumma är delbar med 9. Detta kriterium kan användas upprepade gånger, precis som för övrigt kriteriet för 3 kan göras. 4118886 är delbart med 9 eftersom 4 + 1 + 1 + 8 + 8 + 8 + 6 = 36 är delbart med 9. Skulle man inte se det kan man alltså utföra 3 + 6 = 9 som ju är delbart med 9. 10 Heltalet m är delbart med 10 då talets sista siffra är 0. 11 Heltalet m är delbart med 11 då en lite annorlunda ’siffersumma’ är delbar med 11. Den annorlunda siffersumman får man genom att alternera + och −. Talet 1358016 är delbart med 11 eftersom 1 − 3 + 5 − 8 + 0 − 1 + 6 = 0 och 0 är delbart med 11. Till delbarhet hör dessa tre satser Sats 2 a) Om för heltalen a, b och c gäller att a | b och a | c, så gäller också att a | (b + c) b) Om för heltalen a, b och c gäller att a | b, så gäller också att a | bc c) Om a, b, x, och y är heltal och a | b och a | c, så gäller att a | (xb + yc) Vi kommer inte alltid att bevisa de satser vi presenterar. Men dessa har enkla bevis så därför gör vi ett undantag och bevisar Sats 1a Eftersom a | b, så har vi lärt oss att det finns ett tal q1 sådant att b = a · q1 . På samma sätt kan vi också skriva c = a · q2 . b + c kan nu skrivas b + c = a · q1 + a · q2 eller b + c = a(q1 + q2 ). Ett tal som har a som en faktor måste ha a som delare. Exempel 4 Vi ska ta reda på om 17 | 3451. Om det känns lite tungt kan det vara lite lättare, om vi skriver 17 | (3400 + 51). Enligt sats a) ovan kan vi nu undersöka om 17 | 3400 och om 13 | 51 var för sig. Det visar sig att 200 · 17 = 3400 och att 3 · 17 = 51. Därför vet vi att även 17 | 3451 Exempel 5 Är 12 | 100024? Om vi gör omskrivningen 12 | (100000 + 24) som leder till 12 ∤ 100000, eftersom vi direkt ser att 3 ∤ 100000 och att 12 | 24 så kan vi konstatera att 12 ∤ 100024 Exempel 6 Är 123456 | 4197505? Från divisionskriteriet för 3 får vi att att 3 | 123456 eftersom 1 + 2 + 3 + 4 + 5 + 6 = 21 och 3 | 21. Med hjälp av samma kriterium får vi att 3 ∤ 4197505 eftersom 4 + 1 + 9 + 7 + 5 + 0 + 5 = 31 och 3 ∤ 31. Därför är 123456 ∤ 4197505. Men det är nära, eftersom 34 · 123456 + 1 = 41975054 Håkan Strömberg 3 KTH STH 1.1. TALTEORI 1.1.4 Primtal Faktorisering De allra flesta heltal kan uttryckas som en produkt av ett antal mindre heltal. Till exempel 10010 = 13 · 7 · 11 · 2 · 5. Funktionen FactorInteger[10010] i Mathematica ger oss direkt svaret, i form av en lista av listor {{2, 1}, {5, 1}, {7, 1}, {11, 1}, {13, 1}} Som vi tolkar som 21 · 51 · 71 · 111 · 131 = 10010. Vill vi faktorisera talet 540 skriver vi alltså FactorInteger[540] och får listan {{2,2},{3,3},{5,1}} och som tolkas 540 = 2 · 2 · 3 · 3 · 3 · 5, eller varför inte skriva 540 = 22 · 33 · 5 De tal som inte kan faktoriseras kallas primtal. Det är inte alltid enkelt att finna faktorerna till ett heltal, speciellt då talet är stort. Inom datalogin anses detta som ett mycket svårt problem och en stor del av den moderna krypologin vilar på detta faktum. Teorin bygger på att multiplicera två stora primtal och få en produkt som även för de snabbaste datorer är för svår att faktorisera inom överskådlig tid. Primtal De tal som inte kan faktoriseras kallas primtal. Definition 6 Ett heltal, p > 1, kallas primtal, om det endast har de positiva delarna 1 och talet p själv. Många av oss kan räkna upp de första tio primtalen 2, 3, 5, 7, 11, 13, 17, 19, 23, 29 utan att fundera särskilt länge. Talet 4711 är inget primtal eftersom 7|4711 och 4711 = 7 · 673. Aritmetikens fundamentalsats visar att primtalen, är de hela talens byggstenar. Sats 3 Aritmetikens fundamentalsats. Varje positivt heltal kan på ett entydigt sätt skrivas som en produkt av primtal, om man bortser från faktorernas ordning. Redan de gamla grekerna bevisade, för så där en 2300 år sedan, att det finns oändligt många primtal och att de är oregelbundet fördelade, det vill säga att det kan finnas godtyckligt stora ’gap’ mellan dem, så kallade ’primtalsöknar’. Sats 4 Det finns oändligt många primtal Bevis Låt n vara ett godtyckligt heltal > 1. Bilda N = 1 · 2 · 3 · ... · n + 1 då är tydligen inget av talen 2, 3, . . . , n delare till N. Den minsta delaren p > 1 till N är alltså > n. Den minsta delaren till ett tal N måste vara ett primtal p som är > n. Hur stort tal n vi än väljer finns det alltså ett tal p, som är > n. Därmed är satsen bevisad. Håkan Strömberg 4 KTH STH Definition 7 Antalet primtal ≤ n definieras med funktionen π(n). Till exempel är π(10) = 4, nämligen talen 2, 3, 5, 7. π(100) = 25 betyder att det finns 25 heltal ≤ 100 som är primtal. I Mathematica kan vi använda funktionen PrimePi[n]. Till exempel PrimePi[300] 62 För drygt 100 år sedan visade man att Definition 8 När n växer, närmar sig π(n) funktionen f(n) = n ln(n) − 1 Därför är samtidigt n också en uppskattning av det primtal som kommer på plats n/(ln(n) − 1) Exempel 7 Hur många primtal finns det som är < 1000. Mathematica ger oss genom kommandot PrimePi[1000] svaret 168. Med hjälp av formeln ovan får vi f(1000) = 1000 ≈ 169.27 ln(1000) − 1 Det 168:e primtalet är 997 och 169:e är 1009, som vi tar reda på genom kommandot Prime[n] i Mathematica. Senare har träffsäkrare funktioner än f(x) ovan tagits fram. 1200 1000 800 600 400 200 2000 4000 6000 8000 10000 Figur 1.1: En till synes ganska bra överensstämmelse – eller hur Håkan Strömberg 5 KTH STH 1.1. TALTEORI Eratosthenes såll Även om det inte är möjligt att hitta alla primtal, är det möjligt att hitta alla primtal som är mindre än ett givet tal n. Den mest klassiska metoden kallas Eratosthenes såll. Det kallas ’såll’ därför att metoden liksom gallrar ut primtalen. Vår man Eratosthenes levde i Alexandria för ungefär 2200 år sedan. Här ska vi visa hur metoden fungerar för n = 52. Eftersom 1 varken är ett sammansatt tal eller ett primtal startar vi vår uppräkning från talet 2 2 19 36 3 20 37 4 21 38 5 22 39 6 23 40 7 24 41 8 25 42 9 26 43 10 27 44 11 28 45 12 29 46 13 30 47 14 31 48 15 32 49 16 33 50 17 34 51 18 35 52 Första talet i listan är 2 som är ett primtal. Vi stryker sedan vart annat tal i listan. De är ju alla multipler av 2. 2 19 6 36 3 6 20 37 64 21 6 38 5 6 22 39 66 23 6 40 7 6 24 41 68 25 6 42 9 6 26 43 6 10 27 6 44 11 6 28 45 6 12 29 6 46 13 6 30 47 6 14 31 6 48 15 6 32 49 17 6 34 51 6 16 33 6 50 6 18 35 6 52 Första icke markerade talet i listan är nu 3, som då måste vara ett primtal. Vi stryker sedan vart tredje tal i hela listan och får 2 19 6 36 3 6 20 37 64 6 21 6 38 5 6 22 6 39 66 23 6 40 7 6 24 41 68 25 6 42 69 6 26 43 6 10 6 27 6 44 11 6 28 6 45 6 12 29 6 46 13 6 30 47 6 14 31 6 48 6 15 6 32 49 17 6 34 6 51 6 16 6 33 6 50 6 18 35 6 52 Inget av de icke strukna talen efter 3 kan vara en multipel av 2 eller 3. Nu är nästa icke markerade tal 5, vilket leder till att vi stryker var femte tal i listan, om de inte redan är strukna. 2 19 6 36 3 6 20 37 64 6 21 6 38 5 6 22 6 39 66 23 6 40 7 6 24 41 68 6 25 6 42 69 6 26 43 6 10 6 27 6 44 11 6 28 6 45 6 12 29 6 46 13 6 30 47 6 14 31 6 48 6 15 6 32 49 17 6 34 6 51 6 16 6 33 6 50 6 18 6 35 6 52 Under detta varv hände det inte så mycket, men vi vandrar vidare och ser att nästa primtal är 7. Vi stryker alla multipler till 7. Det är bara talet 49 som under detta varv blir struket. I fortsättningen kommer vi inte att stryka några fler tal och får till slut: 2 19 6 36 3 6 20 37 64 6 21 6 38 5 6 22 6 39 66 23 6 40 7 6 24 41 68 6 25 6 42 69 6 26 43 6 10 6 27 6 44 11 6 28 6 45 6 12 29 6 46 13 6 30 47 6 14 31 6 48 6 15 6 32 6 49 17 6 34 6 51 6 16 6 33 6 50 6 18 6 35 6 52 Vi vet nu att 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47 är samtliga primtal ≤ 52. Här ett C-program som bestämmer alla primtal mindre än 100000. Håkan Strömberg 6 KTH STH 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #define max 100000 int main(void){ int tal[max]={0},i,s,m,start=2,n=0; while(s∗s<max){ s=start; while(tal[s]>0) s++; m=2; while(s∗m<max) tal[s∗m++]=1; start++; } for(i=2;i<max;i++) if(tal[i]==0){ printf("%d ",i); n++; } printf("Det finns %d\n",n); } I arrayen tal sätts in 1:or på de platser vars index inte är ett primtal. Så när vi efter whileloopen går igenom tal och stöter på en cell med värdet 0, så vet vi att motsvarande index är ett primtal. Titanic Prime 1984 definierade Samuel Yates att ett titanic prime är ett primtal med åtminstone 1000 siffror. Vid den tidpunkten fanns det bara 110 kända primtal av den storleken. Idag har man funnit fler än 100000. Det största kända primtalet Att finna ett nytt primtal större än alla tidigare kända, har länge varit en stor utmaning. Att inneha ’världsrekordet’ en stor ära. Pietro Cataldi räknas som den första egentliga världsrekordhållaren, när han 1588 visade att både 217 − 1 = 131071 och 219 − 1 = 524287 var primtal. 1951 slogs rekordet för sista gången utan hjälp av elektroniska hjälpmedel, då Ferrier visade att 2148 + 1 = 20988936657440586486151264256610222593863921 17 var ett primtal. Därefter har datorerna tillsammans med allt ’smartare’ algoritmer varit en förutsättning för att slå nya rekord. Fram till mitten av 90-talet var det superdatorerna som totalt behärskade området. 1996 var det en Cray T94, som fann primtalet 21257787 − 1, med sina 378632 siffror. Men sedan dess är det utan undantag vanliga persondatorer och ’amatörer’, som genom Great Internet Mersenne Prime Search, GIMPS stått för nya rekord. Håkan Strömberg 7 KTH STH 1.1. TALTEORI Det rekord som gällde fram till september 2006 var 230402457 − 1. Talet upptäcktes med en vanlig Pentium 4, 3GHz, maskin 2005. Vi tar reda på hur många siffror talet innehåller. 10x log10 (10x ) x x = = = ≈ 230402457 − 1 log10 230402457 − 1 log10 230402457 − 1 9.1520514988 · 106 Det största kända primtalet kan alltså skrivas ≈ 109152051 , vilket betyder att det har cirka 9 152 051 siffror. Med hjälp av Mathematica kan vi bestämma det exakta antalet siffror och dessutom räkna förekomsten av de olika siffrorna: IntegerLength[2^30402457-1] Med IntegerLength[2^30402457-1] får vi det eftersökta talet 9152052. Genom DigitCount[2^30402457-1] kan vi ta reda på frekvensen av av siffrorna i detta stora tal: Siffra 0 1 2 3 4 5 6 7 8 9 Frekvens 913468 914272 916362 913997 914191 916441 915744 915905 916856 914816 Hemsidan http://primes.utm.edu/primes/ berättar mer om jakten på allt större primtal. Där koncentrerar man sig på tal som kan uttryckas som 2n −1, så kallade Mersenne prime. Definition 9 När 2n − 1 är ett primtal kallas det ett Mersenne prime Håkan Strömberg 8 KTH STH Mathematica Under kursen ska vi använda programmet Mathematica, som tillhör kategorin CAS (Computer Algebra System). Exempel på andra program i denna kategori är Maple, Derive, Macsyma och REDUCE. Med hjälp av dessa program kan man inte bara utföra numeriska beräkningar utan också räkna med symboler. Normalt får man de exakta rötterna till en ekvation eller f ′ (x) till f(x) uttryckt i elementära funktioner. Här följer en kort introduktion. Aritmetiska uttryck skrivs med +,-,/,* och^ tillsammans med vanliga runda parenteser. Avsluta raden med SHIFT + ENTER. Mathematica serverar resultatet på nästa rad. Precis som i C används decimalpunkt i stället för decimalkomma. 2+3+4+7.1 16.1 Ett lite mer komplicerat uttryck med parenteser 42 + 32 5 (4^2+3^2)/5 5 Är talen i uttrycket exakta kommer Mathematica att svara exakt efter att ha reducerat ett rationellt tal så långt möjligt. Ett tal anses inte exakt om det innehåller decimalpunkt Vi skriver in 10/30 och datorn svarar 1/3 10/30 1/3 10.0/30 0.333333 Vill man ha resultatet som ett flyttal använder man N[]. N[10/30] 10/30//N Är man inte nöjd med antalet signifikanta siffror, kan man ange antalet genom en extra parameter N[10/30,40] 0.3333333333333333333333333333333333333333 Vi jämför två skrivsätt och förstår varför det blir skillnad 2^100 1267650600228229401496703205376 N[2^100] 1.26765 10^30 Håkan Strömberg 9 KTH STH 1.1. TALTEORI Vi studerar så några matematiska funktioner, som alla har motsvarande knappar på räknedosan. √ Kvadratroten skrivs Sqrt[]. Sqrt[9] blir förstås 3. Sqrt[2] förblir 2 eftersom svaret ska vara exakt. För Sqrt[2.0] däremot får man ett närmevärde. Är man inte nöjd med antalet decimaler vet vi redan hur man gör för att få fler. sin skrivs Sin[] och förväntar sig ett argument givet i radianer. Har man en vinkel i grader får man helt enkelt först räkna om det till radianer. Sqrt[9] 3 Sqrt[2.0] 1.41421 N[Sqrt[2],30] 1.41421356237309504880168872421 Sin[Pi/2] 1 N[Sin[20*Pi/180]] 0.34202 Med Log[] avses, precis som i C, det vi i matematikboken läser som ln. Uttrycket Exp(1) betecknar det naturliga tal e. Vill man bestämma log10 10000, får man lägga till basen som första argument eller använda Log10[] Log[5.] 1.60944 Log[Exp[1]] 1 Log[10,10000] 4 Log10[10000] 4 För att snabba upp användningen i Mathematica har man definierat % som senaste utskrivna resultatet, som man sedan kan använda i nästa inmatning. Två %% syftar på näst senaste resultatet. Följdriktigt blir därför sista uttrycket nedan 3 + 66 = 46659. 1+2 3 %+3 6 %% + %^% 46659 Mathematica minns alla tilldelningar som gjorts sedan man startade. Ett sätt att rensa minnet är att i menyn under Evluation välja Quit Kernel ← Local. Variabler fungerar precis som i vanliga programmeringsspråk. Man kan undertrycka utskriften från en sats genom att avsluta den med semikolon, (;). Kom ihåg att till exempel xy inte är samma sak som x*y. I det första fallet är det en variabel i andra fallet produkten av variablerna x och y. Man tilldelar en variabel ett värde genom =. x=1; y=5; x+y Håkan Strömberg 10 KTH STH x*y 6 5 Med hjälp av funktionen Solve kan man lösa ekvationer. För att lösa andragradsekvationen x2 − 2x − 8 = 0 skriver vi Solve[x^2-2x-8==0] {{x -> -2}, {x -> 4}} Mathematica svarar med de två rötterna x1 = 4 och x2 = −2. Löser vi istället ekvationen x2 − 5x + 3 = 0 skriver vi Solve[x^2-5x+3==0,x] och får de exakta rötterna √ 5 13 x1 = + 2 2 5 x1 = − 2 √ 13 2 Funktionen Simplify används för att förenkla algebraiska uttryck som till exempel a2 − b2 c−a 1 b2 − c2 + 2 − + 2 a+b c −a b−c c+a Om vi exekverar uttrycket Simplify[(a^2-b^2)/(a+b)+(c-a)/(c^2-a^2)+(b^2-c^2)/(b-c)-1/(c+a)] a+c förstår vi att det kan förenklas till a + c. Lyckas man hålla reda på parenteserna är det mycket tidsbesparande att använda ett program som Mathematica! Med hjälp av Expand kan vi utveckla parenteser som till exempel (x + 1)(x − 2)(x + 3)(x − 4) Vi skriver Expand[(x+1)(x-2)(x+3)(x-4)] och får utan väntetid x4 − 2x3 − 13x2 + 14x + 24 Man plottar en funktion genom kommandot Plot. Håkan Strömberg 11 KTH STH 1.1. TALTEORI 0,8 0,6 0,4 0,2 K 6 K 4 K 0 2 2 K 4 6 x 0,2 K 0,4 K 0,6 K 0,8 Figur 1.2: Plot[Sin[x]Cos[x/3],{x,-2Pi,2Pi}] och får kurvan i figur 1.2 Detta är den enklaste användningen av Plot. En mängd anpassningar återges i hjälpen. Mathematicas Help är mycket omfattande och kanske lite svår att hitta i. Ägna därför lite tid till att studera vad som står att läsa om till exempel Plot. Så till sist några funktioner vi refererat till i texten här ovan. Funktionen FactorInteger primfaktoruppdelar ett heltal FactorInteger[123456789] Talet 123456789 = 32 · 3803 · 3607, där 3, 3803 och 3607 alla är primtal. Om kommandot PrimeQ[n] returnerar True är det mycket troligt att n verkligen är ett primtal. Med kommandot PrimePi[n] får vi reda på hur många primtal det finns som är ≤ n. PrimePi[30000] 3245 Det finns alltså 3245 primtal < 30000 Kommandot Prime[n] ger oss det n:te primtalet i ordningen. Kommandot IntegerLength[n] kan användas för att ta reda på hur många siffror ett tal n innehåller. Håkan Strömberg 12 KTH STH Teoriuppgifter Problem 1 Är det sant att då ett naturligt tal n är delbart med både 3 och 4, så är det även delbart med 12? Problem 2 Är det sant att då ett naturligt tal n är delbart med både 4 och 6, så är det även delbart med 24? Problem 3 Talet 3 är inte delare till n, 3 ∤ n är det då möjligt att 3|2n? Problem 4 Man vet att n är jämnt. Vilket är det minsta heltal a, så att 6|a · n? Problem 5 Man vet att 6|15n. Är det då nödvändigt att 6|n? Problem 6 Faktoruppdela talen 72 och 63 utan elektroniska hjälpmedel Problem 7 Bestäm q och r då 32 divideras med 7 Problem 8 Skjortförsäljning. Adam började sälja skjortor, för 200 kr/styck. Försäljningen gick dock inget vidare, förrän han sänkte priset med några kronor. På tre dagar hade han sålt för totalt 60377 kr. Hur många skjortor hade han sålt och till vilket pris? Problem 9 Försäljning av radioapparater. Under säsongen har företaget sålt ett parti radioapparater. Totalt gav försäljningen i norra distriktet 389393 kr och i södra 831119 kr. Vilket pris hade radioapparaten och hur många hade sålts i de båda landsändarna? Problem 10 Hur många faktorer innehåller talet 4096 = 212 ? Håkan Strömberg 13 KTH STH 1.1. TALTEORI Problem 11 Finn tre positiva heltal a, b och c, sådana att 31 | (5a + 7b + 11c) Problem 12 Tre distrikt Tre distrikt har under julhandeln sålt jultomtemasker, alla till samma pris. Nedan ser vi den totala omsättningen i kronor Distrikt Distrikt I Distrikt II Distrikt III Omsättning 5083 kr 5423 kr 5117 kr Hur mycket kostade en jultomtemask, ett helt, > 1, antal kronor? Problem 13 Stigande försäljning Försäljningen av kökspallen Palle har stigit under de senaste tre åren, trots att priset under perioden varit detsamma (ett heltal kr). Här är omsättningssiffrorna: År Omsättning (kr) 2001 85963 2002 106361 2003 202429 Hur mycket kostar pallen Palle? Problem 14 Sedan texten om det största kända primtalet skrevs, har rekordet slagits och det just nu största kända primtalet är 243112609 − 1 Hur många siffror har detta tal? Problem 15 Skriv ett C-program som tar emot ett heltal och som avgör om det är delbart med 7. Viktigt Programmet ska använda den metod som beskrivs under rubriken Delbarhetskriterier. Problem 16 Från Adam hör vi följande: ”Välj ut 5 heltal och jag lovar att jag kommer att kunna plocka ut tre av dessa, så att dess summa är delbar med 3. Ska vi slå vad att jag kan?”. Kommer han att vinna vadet? Håkan Strömberg 14 KTH STH Problem 17 Följande funktion är en naiv test av om ett tal n är primtal eller inte. Då så är fallet returneras 1 annars 0. a) Varför räcker det att testa upp till √ n? b) För vart annat varv i loopen är i jämnt. Hur kan man med små förändringar göra funktionen mer effektiv? 1 2 3 4 5 6 7 int prime(int n){ int i; for(i=2;i<=sqrt(n);i++) if(n%i==0) return 0; return 1; } Problem 18 Hur många av talen 2n − 1, n < 50 är primtal? Vad kan man gissa ska gälla för n, för att 2n − 1 ska vara ett primtal? Använd funktionen PrimeQ i Mathematica Problem 19 Vilket är det största primtal man kan lagra i en dator med 32-bitars heltal? Håkan Strömberg 15 KTH STH 1.1. TALTEORI Problemlösning Här kommer de första problemen. Vilken poäng en korrekt lösning är värd anges inom parentes i rubriken. Totalt ska du under kursen samla ihop 50 poäng för att få godkänt på denna del. Problemlösning 1. Dela bröd och pengar (1) Två luffare, A med 3 bröd och B med 5 bröd, hade just satt sig vid vägkanten för att äta, då en tredje luffare, C, kom förbi. C hade ingen egen mat, utan betalade sin andel med 8 kr. Hur skulle detta belopp fördelas rättvist mellan A och B, om maten delats lika mellan de tre luffarna? Problemlösning 2. De fyra korten (1) Det ligger fyra kort, med baksidan upp, i en rad på bordet, spaderkung, spaderdam, hjärterkung och hjärterdam. I vilken ordning ligger korten om vi vet att: • det ligger en kung direkt till höger om en dam • det ligger en dam direkt till höger om en kung • det ligger en kung direkt till höger om en kung • det ligger en spader direkt till höger om en spader • det ligger en spader direkt till höger om en hjärter Problemlösning 3. Finn skeppen (1) I figur 1.3 ser vi ett hav bestående av 10 × 10 rutor. I havet finns ett antal fyrar markerade 4 1 3 2 3 4 0 2 4 Figur 1.3: med cirklar. Inuti cirklarna finns ett tal, som berättar hur många skepp man kan se från fyren. Alla dessa skepp finns i samma rad eller kolumn som fyren. De åtta rutor som omger ett skepp kan aldrig innehålla vare sig ett skepp eller en fyr. Alla skepp syns från åtminstone en fyr. Var finns skeppen? Håkan Strömberg 16 KTH STH Problemlösning 4. Finn skeppen igen (1) Samma regler som i problemet ovan för figur 1.4. 6 1 2 1 3 2 1 4 3 3 Figur 1.4: Problemlösning 5. Talet 15873 (1) Starta med talet 15873. Multiplicera med ett tal från mängden {1 . . . 9}. Multiplicera sedan med 7. Betrakta resultatet. Kan du förklara ”fenomenet”? Problemlösning 6. De falska mynten (2) Framför dig på bordet ligger 13 påsar med mynt. Alla med minst 100 mynt. Mynten väger normalt exakt 8.0 gram, utom i en påse där det finns enbart falska mynt, som alla väger 9.0 gram. Hur kan man finna den påse som innehåller de falska mynten genom en enda vägning på en vanlig våg? Problemlösning 7. De fyra konstnärerna (2) Adamsson, Bertilsson, Curtsson och Davidsson är fyra begåvade konstnärer. En är dansare, en målare, sångare och en är författare. • Adamsson och Curtsson satt i publiken då sångaren uppträdde • Både Bertilsson och författaren satt en gång modell för målaren • Författaren, vars biografi om Davidsson blev en storsäljare, har just påbörjat en biografi om Adamsson • Adamsson har aldrig hört talas om Curtsson Kan du reda ut vilka yrken de fyra herrarna har? Problemlösning 8. Dela äpplen (2) Adam, Bertil och Curt hade fått lov att dela på en hög äpplen. Adam kom först och tog en 1/3 av högen. När Bertil kom lite senare trodde han att han var först på plats, så därför tog även han 1/3 av högen. Curt kom sist, men trodde han var först. Han tog en 1/3 av högen och lämnade 8 äpplen, som låg kvar och ruttnade. Hur många äpplen fanns det från början i högen? Hur många olika äpplen fick var och en? Håkan Strömberg 17 KTH STH 1.1. TALTEORI Problemlösning 9. Den betande geten (2) Vid en knut av ett 5 meter långt och 4 meter brett hus, står en get tjudrad i ett 6 meter Figur 1.5: långt rep. På tomten kring huset växer saftigt gräs. Hur stor area av gräsmattan har geten tillgång till? Problemlösning 10. Den blommande trädgården (2) a) ”I dag blommar all tre sorterna”, utbrister den förvånade trädgårdsmästaren. ”Den här sällsynta sorten från Sydamerika, blommar var 11:e dag” ”Den här rosen från Asien blommar var 13:e dag” ”Och den här liljan från Australien var 15:e dag” Hur lång tid dröjer det, innan de tre blommorna åter blommar samma dag? b) Samma uppgift som ovan, men nu blommar de tre blommorna var 11:e, 22:a och 15:e dag c) Samma uppgift som ovan, men nu blommar de tre blommorna var 72:a, 48:e och 144:e dag Problemlösning 11. KTH-basket (3) I basket får man 1 poäng för lyckade straffkast, 2 poäng för lyckade skott inom korgområdet och 3 poäng för lyckade distansskott. I ”KTH-basket” däremot får man a poäng för lyckade straffar och b poäng för andra lyckade skott, alltså ingen extra bonus för distansskott som går i korgen. Poängen är så satta att det finns 35 olika slutpoäng, som är omöjliga att uppnå, en av dem är 58. Naturligtvis får man färre poäng för ett lyckat straffkast än för ett målkast utifrån planen. Hur många poäng får man för de två olika poänggivande skotten? Håkan Strömberg 18 KTH STH Problemlösning 12. Inhägnaderna (3) Figur 1.6: Flygbild över hagarna En bonde hägnade in en rektangulär bit av sin åker med 139 meter stängsel. Förutom själva omkretsen dessutom en diagonal, där alla sidor och diagonalen hade ett mått i hela meter. Till sin fasa såg han att grannen lyckas skapa en liknade hage med mindre stängsel och större area! Även hos grannen var alla mått i hela meter och med ett stängsel utefter en diagonal. Bestäm måtten hos de två hagarna. Problemlösning 13. Mysteriet med kokosnötterna (3) Fyra män hade lidit skeppsbrott på en öde ö, där det inte finns något annat ätbart än kokosnötter. De märkte snart att öns apor satte i sig väldiga mängder, och för att undvika att själva råka ut för kokosnötsbrist, samlade de ihop alla kokosnötter de kunde finna i en enda stor hög. Sedan de gått och lagt sig den kvällen vaknade emellertid en av de fyra snart igen och muttrade bistert för sig själv: ”Jag känner ju inte alls de här tre andra, och har ingen aning om huruvida de är ärliga eller inte. Så det är nog säkrast att jag tar min andel av kokosnötterna genast.” Han gick ut och delade upp kokosnötterna i fyra lika stora högar, upptäckte att det blev tre över, som han kastade åt aporna, gömde sin fjärdedel och samlade ihop de återstående tre fjärdedelarna i en hög, varefter han kröp till kojs igen. Strax efteråt vaknade en annan av männen, funderade sig fram till samma slutledning som den förste och delade upp de återstående kokosnötterna i fyra lika stora högar, upptäckte att det blev tre över, som han kastade åt aporna, gömde sin fjärdedel och samlade ihop de återstående tre fjärdedelarna i en hög igen, och kröp sedan till kojs på nytt. De båda återstående männen upprepade i tur och ordning samma förfarande. Nästa morgon var högen synbart mindre än den hade varit kvällen innan, men eftersom de alla fyra led av en viss skamkänsla, var det ingen som sade någonting, utan alla gick villigt med på det förslag som väcktes, om att var och en skulle ta sin del och använda den efter eget gottfinnande. Alltså delade de upp de återstående kokosnötterna i fyra lika stora delar och tog hand om var sin fjärdedel av dem. Den här gången blev det inte en enda kokosnöt över åt aporna. Vilket är det minsta antal kokosnötter högen ursprungligen kan ha innehållit? Håkan Strömberg 19 KTH STH 1.1. TALTEORI Problemlösning 14. Mobilen (3) Figur 1.7 visar en mobil med 7 vågskålar. I dessa ska placeras 40 lika tunga kulor, så att Figur 1.7: mobilen väger jämnt, som i figuren. Problemlösning 15. Förvirrad professor (4) – ”Min bil är stulen”, skriker professorn i samma stund som han stormar in på polisstationen. – ”Vilket registreringsnummer?”, undrar polismannen. – ”Jag minns inte en enda siffra. Men det består av fyra siffror, det kommer jag ihåg” – ”Fyra siffror, eh. . . . Det räcker nog inte.” – ”Vänta ett tag”, säger professorn, med glansiga ögon,”jag börjar minnas en del angående mitt bilnummer. Jag diskuterade härom dagen faktorer med min dotterdotter”. – ”Faktorer, eh?” – ”Ja, mitt registreringsnummer har ganska många faktorer. Jag visade henne att tre av dessa faktorer kunde väljas, på flera sätt, så att deras summa blev 100. Anta att mitt nummer är n.” – ”Va, n!”, sa den oförstående polismannen. – ”Anta att mitt nummer är n. Om ax, by och cz alla är lika med n, så kan a, b och c väljas på ett sätt, sådant att a + b + c = 100. Även dessa val kan göras på fler än ett sätt. Av dessa valde vi ut det fall, då x + y + z är så litet som möjligt. Vi upptäckte då, min dotterdotter och jag, att x + y + z är en produkt av fyra primtal. Summan av dessa fyra primtal är, ganska intressant, 1 större än a och 1 mindre än b.” – ”Vad sa ni. . . ?” – ”Att med hjälp av dessa ledtrådar kan ni bestämma mitt registeringsnummer, eller hur?” – ”?" Hjälp den stackars polisen att lista ut professorns registeringsnummer Håkan Strömberg 20 KTH STH Lösningar – Teoriuppgifter Lösning Teoriuppgift 1 Eftersom n kan skrivas som n = 3 · 4 · m är n|(12 · m) Lösning Teoriuppgift 2 Motexempel 36. 4|36 och 6|36, med 24 ∤ 36. Lösning Teoriuppgift 3 Nej, 2n har ingen faktor 3 Lösning Teoriuppgift 4 a = 3, 6|3n, eftersom n är jämnt Lösning Teoriuppgift 5 Nej, till exempel 6|60 → 6|(15 · 4), men 6 ∤ 4 Lösning Teoriuppgift 6 Först inser man kanske att 9 · 8 = 72 som i sin tur leder till 72 = 3 · 3 · 2 · 2 · 2 · 2. På samma sätt får vi från multiplikationstabellen att 9 · 7 = 63. I nästa steg kan vi skriva 63 = 3 · 3 · 7 Lösning Teoriuppgift 7 32 = 4 · 7 + 4. Alltså är q = r = 4 Lösning Teoriuppgift 8 Till att börja med kan man tycka att det saknas uppgifter, men med tanke på vad vi just nu sysslar med, kan det ligga nära till hands att i Mathematica skriva: FactorInteger[60377] {{173, 1}, {349, 1}} Tydligen är detta ett väl tillrättalagt problem. Beloppet kan skrivas 60377 = 173 · 349. Eftersom vi vet att priset var under 200 kr, vet vi nu att Adam sålde 349 skjortor till priset 173 kr. med penna och papper – fortfarande slitsamt, med räknedosa – möjligt. Att försöka finna dessa faktorer med huvudräkning – omöjligt? Håkan Strömberg 21 KTH STH 1.1. TALTEORI Lösning Teoriuppgift 9 Av sammanhanget att döma kan det inte vara fel att i Mathematica skriva: FactorInteger[389393] {{439,1},{887,1}} FactorInteger[831119] {{887,1},{937,1}} Faktorn 887 är gemensam för de två beloppen och måste alltså utgöra priset. I norra delen sålde man 439 apparater och i södra 937 Lösning Teoriuppgift 10 212 = 2 · 2 · 2 · 2 · 2 · 2 · 2 · 2 · 2 · 2 · 2 · 2 Det blir förstås 12 faktorer. Lösning Teoriuppgift 11 En direkt lösning är a = b = c = 31. Med ett enkelt C-program får vi flera lösningar: 1 2 3 4 5 6 7 8 9 #include <stdio.h> int main(void){ int a,b,c; for(a=1;a<10;a++) for(b=1;b<10;b++) for(c=1;c<10;c++) if ((5∗a+7∗b+11∗c)%31==0) printf("%d %d %d\n",a,b,c); } Där a = 1, b = 5 och c = 2 är en av många lösningar. Lösning Teoriuppgift 12 Tre distrikt Med hjälp av Mathematica och FactorInteger får vi 5083 = 13 · 17 · 23 5423 = 11 · 17 · 29 5117 = 7 · 17 · 43 Ur detta kan vi sluta oss att en tomtemask kostar 17 kr Lösning Teoriuppgift 13 Stigande försäljning 85963 = 31 · 47 · 59 106361 = 31 · 47 · 73 202429 = 47 · 59 · 73 Palle kostar 47 kr Håkan Strömberg 22 KTH STH Lösning Teoriuppgift 14 IntegerLength[2^43112609 - 1] 12978189 ger oss svaret Lösning Teoriuppgift 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #include <stdio.h> int main(void){ int talet,sista; printf("Talet ? "); scanf("%d",&talet); while(talet>18){ sista=talet%10; talet=talet/10; talet=talet−2∗sista; } if(talet%7==0) printf("JA"); else printf("NEJ"); } Lösning Teoriuppgift 16 När man dividerar ett tal n med 3 får man någon av resterna 0, 1 eller 2. Om tre av de givna talen har samma rest, så är summan av dessa tre tal delbar med 3. Om det inte finns tre tal med samma rest, måste det finnas minst ett med resten 0, 1 respektive 2. Summerar vi dessa tre tal så kommer summan att bli delbar med 3. Lösning Teoriuppgift 17 Om talet n inte är ett primtal, måste det ha åtminstone två faktorer a1 och a2 . Båda dessa √ faktorer kan inte vara större än n eftersom det skulle betyda att a1 · a2 > n. Lösning Teoriuppgift 18 För n = 2, 3, 5, 7, 13, 17, 19, 31 är 2n − 1 ett primtal. Man kan bevisa att n i sig måste vara ett primtal för att 2n − 1 ska vara det. Om det är ett nödvändigt villkor, så är det inte tillräckligt. Till exempel är 21 1 − 1 = 2047 = 23 · 89. Håkan Strömberg 23 KTH STH 1.1. TALTEORI Lösning Teoriuppgift 19 Det största talet som kan skrivas med 32 binära siffror är 232 − 1 = 4294967295. Genom att skriva Prime[PrimePi[2^32-1]] får vi svaret 4294967291. Om man testar ett tal i taget med hjälp av Prime[] och börjar bakifrån. Första kandidaten att testa blir då 4294967293, eftersom vi snabbt kan avfärda de två största talen. Detta tal är dock inget primtal, men nästa kandidat är det. Visst är det lite tur att svaret låg så nära det största möjliga! Laboration I den första laborationen där du ska bekanta dig med Mathematica, ska du lösa följande, matematiskt ganska enkla, uppgifter. Poängen för korrekt lösning anges inom parentes i rubriken. Totalt ska du under kursen samla ihop 50 poäng för att bli godkänd på denna del. Laborationsuppgift 1. Fisken (förstagradsekvation) (1) En fisk består av ett huvud, en kropp och en stjärt. Stjärten är dubbelt så lång som huvudet, plus 5 cm. Kroppen är dubbelt så lång som som huvudet och stjärten tillsammans. Fisken är total 105 cm lång. Hur långa är de olika delarna var för sig? Gör ett antagande. Skriv ned ekvationen, eventuellt på papper. Ta sedan, i sista steget till Mathematica, för att lösa ekvationen och få svaret. Tips: Använd funktionen Solve. Om man till exempel vill lösa följande ekvation 4x2 − 8x − 60 = 0 skriver man så här Solve[4x^2-8x-60==0] {{x -> -3}, {x -> 5}} Andragradsekvationen har rötterna x1 = −3 och x2 = 5. Sensmoral: Inget känt datorprogram kan ta emot problemtexten ovan, tolka den, ställa upp och lösa tillhörande ekvation. Däremot saknar de flesta människor förmågan, att i snabbhet tävla med Mathematica att lösa en redan uppställd ekvation. Håkan Strömberg 24 KTH STH Laborationsuppgift 2. Ett litet ekvationssystem (1) Jag tänker på två tal. Om jag summerar dem får jag summan 394. Om jag bestämmer skillnaden mellan dem, får jag 118. Vilka tal tänker jag på? Tips: När man har två ekvationer, som ska lösas i ett system 3x + 4y = 10 5x − 3y = 7 skriver man dem i en lista så här: Solve[{3x+4y==10,5x-3y==7}] {{x->2, y->1}} Laborationsuppgift 3. Skärningspunkter mellan kurvor (1) I den här uppgiften ska du plotta funktionerna: f1 (x) = x2 − 3x + 4 och f2 (x) = −x2 + 5x + 5 och därefter bestämma i vilka punkter de skär varandra Tips: En funktion plottas med Plot. Ta reda på mer om parametrarna till Plot genom hjälpen. När du lyckats få upp grafen kan du läsa av ungefärliga värden med ögat. Ta nu reda på skärningspunkterna genom att använda Solve. Skärningspunkterna ges exakt. Ta reda på vad som händer om man tillfogar N[Solve[...]]. Laborationsuppgift 4. Jobbig ekvation (1) En ekvation liknande denna kunde man få i läxa när man på 1950-talet gick i realskolan, den skolform, som ligger närmast dagens högstadium. Lös den med hjälp av Mathematica 1 1 1 + 1.5 + x 1.5 − x + 1.5 2x2 = − 3 x 1 1 1 + 1.5 − x 1.5 + x Håkan Strömberg 25 KTH STH 1.1. TALTEORI Laborationsuppgift 5. Förenkling (1) Med hjälp av funktionen Simplify kan man få Mathematica att förenkla, bland annat, algebraiska uttryck. 1 1 a − b + 1 + 2 a 2b b a b a 2 2 a + 4b ab Förenkla detta uttryck med hjälp av Mathematica Tips: När man vill förenkla ett uttryck som (x − y)2 x (x − y) − x 2 − y2 x−y skriver man Simplify[(x - y)*((x + y)^2/(x^2 - y^2) - x/(x - y))] y och får svaret y Laborationsuppgift 6. Utveckling (1) Uttrycket (x + y)2 får man expanderat i Mathematica med hjälp av funktionen Expand. Man skriver helt enkelt Expand[(x+y)^2] x^2+2xy+y^2 En bekant företeelse i matematiken är Pascals triangel, vars topp ser ut som följer: 1 1 1 1 1 1 1 1 7 2 3 4 5 6 1 3 6 10 15 21 1 1 4 10 20 35 1 5 15 35 1 6 21 1 7 1 Expandera (x + y)n för n = 1 . . . 7 och jämför koefficienterna i de uttryck du får med talen i Pascals triangel. Försök sedan ange utvecklingen av (x + y)8 utan att använda Mathematica. För att klara det måste du komma på hur man bildar en ny rad i Pascals triangel, i det här fallet den 9:e. Håkan Strömberg 26 KTH STH För att du ska få en uppfattning om till, vad Mathematica kan användas löser vi här den tentamen du råkade ut för i december förra året. Om man skulle tillåta Mathematica som hjälpmedel under tentamen är det troligtvis endast uppgift 3 som har chansen att överleva. Resten av uppgifterna klarar man av med hjälp av en eller två rader Mathematica. Uppgifterna är därför inga ’problem’ i egentlig mening, utan endast algoritm- och algebratest. Tentamen HF1006 och HF1008 TEN2 10 dec 2012 Problem 20 Bestäm nollställena till f ′ (t), då f(t) är f(t) = √ t 3 − 5t Lösning: f[t_] := Sqrt[t]/(3 - 5 t) Solve[f’[t] == 0] Svar: − 3 5 Problem 21 Beräkna gränsvärdet lim x→0 cos x − 1 x2 Lösning: Limit[(Cos[x] - 1)/x^2, x -> 0] Svar:− 1 2 Problem 22 Bestäm den största möjliga omkretsen för en rektangel som är inskriven i en halvcirkel med radien r. Rektangelns ena sida ska placeras längs halvcirkelns diameter. Lösning: omkr[x_, r_] := 4 x + 2 Sqrt[r^2 - x^2] Solve[{D[omkr[x, r], x] == 0}, x] D[omkr[2r/Sqrt[5], r], x, x] omkr[2 r/Sqrt[5], r] // Simplify 10r Svar: √ 5 Håkan Strömberg 27 KTH STH 1.1. TALTEORI Problem 23 Bara en av de följande två funktionerna har någon horisontell tangent i intervallet 0 ≤ x ≤ 2π. Bestäm ekvationen för denna tangent. f1 (x) = x + sin x f2 (x) = 2x + sin x Lösning: f1[x_] := x + f2[x_] := 2 x Solve[{f1’[x] Solve[{f2’[x] Sin[x] + Sin[x] == 0, x >= 0, x <= 2 Pi}] == 0, x >= 0, x <= 2 Pi}] f1 ′ (x) = 0 då x = π. f1(π) = π. f2 ′ (x) saknar nollställen Svar: y = π Problem 24 Bestäm samtliga asymptoter till funktionen f(x) = x2 + 3x − 5 x−1 Lösning: 10 5 -2 1 -1 2 3 4 f[x_] := (x^2 + 3 x - 5)/(x - 1) Apart[f[x]] Plot[{f[x], x + 4}, {x, -2, 4} Svar: y = x + 4 och x = 1 Problem 25 Lös integralen Z3 2 x2 − 5x + 7 (x − 1)(x − 4) Lösning: Integrate[(x^2-5x+7)/((x-1)(x-4)), {x,2,3}] Svar:1 − ln4 Håkan Strömberg 28 KTH STH Problem 26 Lös följande separabla differentialekvation y ′ = (x + 1)(y2 + 25) Lösning: DSolve[y’[x]==(x+1)(y[x]^2+25),y[x],x] Svar: y(x) = 5 tan 5 (2x + x2 + 2C) 2 Problem 27 Lös följande differentialekvationer a) y ′′ − 5y ′ + 6y = 0 b) y ′′ − y ′ − 12y = x + 2 Lösning: DSolve[y’’[x]-5y’[x]+6y[x]==0, y[x], x] DSolve[y’’[x]-y’[x]-12y[x]==x+2, y[x], x] Svar: y(x) = c1 e2x + c2 e3x x 23 − + c1 e−3x + c2 e4x y(x) = − 144 12 Håkan Strömberg 29 KTH STH